using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Data.SqlClient; namespace ReadWord{ /// <summary> /// DataGrid 的摘要说明。 /// </summary> public class DataGrid : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DataGrid1; private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 if(!IsPostBack) { string strCn="data source=bmonkey;initial catalog=Northwind;uid=sa;password=556677"; string strSql="select top 1 * from customers"; SqlConnection cn=new SqlConnection(strCn); SqlDataAdapter da=new SqlDataAdapter(strSql,cn); DataSet ds=new DataSet(); da.Fill(ds,"Customers"); this.DataGrid1.DataSource=ds.Tables[0].DefaultView; this.DataGrid1.DataBind(); } } private void DataGrid1_ItemCreated(object sender,DataGridItemEventArgs e) { if(e.Item.ItemType == ListItemType.Footer) { System.Web.UI.WebControls.DropDownList myList; myList=(DropDownList)e.Item.Cells[0].Controls[0].FindControl("myDropDownList"); myList.SelectedIndexChanged +=new EventHandler(myList_SelectedIndexChanged); } } private void myList_SelectedIndexChanged(object sender,EventArgs e) { Response.Write(((DropDownList)sender).SelectedValue.ToString()); } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); this.DataGrid1.ItemCreated +=new DataGridItemEventHandler(DataGrid1_ItemCreated); } #endregion }} 讲一下原理: itemcreate或itemdatabound事件里面捕获footer的生成,然后找到对应的cell,然后findcontrol里面的dropdownlist控件;紧接着给它动态添加selectedIndexchanged事件,并写出正确的事件处理程序。 这里动态添加,应为在InitializeComponent()事件里面无法找到放在footer里面的dropdownlist控件。 最后事件处理程序的private void myList_SelectedIndexChanged(object sender,EventArgs e) sender是dropdwonlist控件, 相关讨论: http://community.csdn.net/Expert/topic/3506/3506615.xml?temp=.345791