1.更新,取消,确定按钮的用法 protected System.Web.UI.WebControls.DataGrid dgTest; private void Page_Load( object sender, System.EventArgs e) ... { if(!IsPostBack) ...{ this.BindData(); } } ==== 执行事件 ==== #region ==== 执行事件 ==== private void btnCreateTwo_Click(object sender, System.EventArgs e) ...{ string[] strDataField = new string[] ...{ "GoodNo","GoodName","SupNo" }; string[] strHeaderText = new string[] ...{ "商品编号","商品名称","厂商编号" }; this.GetColumnForDataGrid(this.dgTest, strDataField, strHeaderText); using(DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING_MH_INV,CommandType.Text," select top 10 GoodNo, GoodName, SupNo from INVGood ").Tables[0]) ...{ this.dgTest.DataSource = dt; this.dgTest.DataBind(); } } private void dgTest_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) ...{ this.dgTest.EditItemIndex = -1; this.BindData(); } private void dgTest_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) ...{ this.dgTest.EditItemIndex = e.Item.ItemIndex; this.BindData(); } private void dgTest_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) ...{ SqlHelper.ExecuteNonQuery(SqlHelper.CONN_STRING_MH_INV,CommandType.Text,"update Test set name = '" + ((TextBox)e.Item.Cells[1].FindControl("txtName")).Text.Trim() + "' , address = '" + ((TextBox)e.Item.Cells[2].FindControl("txtAddress")).Text.Trim() + "' where id = " + this.dgTest.DataKeys[e.Item.ItemIndex].ToString()); Page.RegisterStartupScript("","<script>alert('修改成功!')</script>"); this.dgTest.EditItemIndex = -1; this.BindData(); } private void dgTest_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) ...{ SqlHelper.ExecuteNonQuery(SqlHelper.CONN_STRING_MH_INV,CommandType.Text,"delete from Test where id = " + this.dgTest.DataKeys[e.Item.ItemIndex].ToString()); Page.RegisterStartupScript("","<script>alert('删除成功!')</script>"); this.BindData(); } private void dgTest_SelectedIndexChanged(object sender, System.EventArgs e) ...{ foreach(DataGridItem dgi in this.dgTest.Items) ...{ dgi.Font.Italic = false; dgi.ForeColor = System.Drawing.Color.Empty; } this.dgTest.Items[this.dgTest.SelectedIndex].Font.Italic = true; this.dgTest.Items[this.dgTest.SelectedIndex].ForeColor = System.Drawing.Color.Blue; } private void dgTest_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) ...{ if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) ...{ e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#E8F3FF'"); e.Item.Attributes.Add("onmouseout","this.style.backgroundColor='#FFFFFF'"); } } private void dgTest_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) ...{ switch(e.Item.ItemType) ...{ case ListItemType.Item : case ListItemType.AlternatingItem : ((LinkButton)e.Item.FindControl("lbtnDelete")).Attributes.Add("onclick","return confirm('真的要删除吗')"); break; } } private void dgTest_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) ...{ } private void dgTest_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) ...{ DataGrid dg = (DataGrid)source; dg.CurrentPageIndex = e.NewPageIndex; this.BindData(); }#endregion ==== 公共函数 ==== #region ==== 公共函数 ==== private void BindData() ...{ using(DataTable dt = SqlHelper.ExecuteDataset(SqlHelper.CONN_STRING_MH_INV,CommandType.Text," SELECT * FROM Test ").Tables[0]) ...{ this.dgTest.DataSource = dt; this.dgTest.DataBind(); } } private void GetColumnForDataGrid(DataGrid dg, string[] strDataField ,string[] strHeaderText) ...{ if(strDataField == null || strDataField.Length == 0) ...{ Popedom.ShowJavaScriptWindow("绑定字段不能为空"); return; } if(strHeaderText == null || strHeaderText.Length == 0) ...{ Popedom.ShowJavaScriptWindow("标题不能为空"); return; } if(strHeaderText.Length != strDataField.Length) ...{ Popedom.ShowJavaScriptWindow("两个数组长度必须相等"); return; } dg.Columns.Clear(); for(int i = 0; i < strDataField.Length; i ++) ...{ dg.Columns.Add(this.CreateBoundColumn(strDataField[i].ToString().Trim(),strHeaderText[i].ToString().Trim())); } } private BoundColumn CreateBoundColumn(string strDataFieldValue, string strHeaderTextValue) ...{ return this.CreateBoundColumn(strDataFieldValue, strHeaderTextValue, true, 0); } private BoundColumn CreateBoundColumn(string strDataFieldValue, string strHeaderTextValue, int iWeight) ...{ return this.CreateBoundColumn(strDataFieldValue, strHeaderTextValue, true, iWeight); } private BoundColumn CreateBoundColumn(string strDataFieldValue, string strHeaderTextValue, bool bFlag) ...{ return this.CreateBoundColumn(strDataFieldValue, strHeaderTextValue, bFlag, 0); } private BoundColumn CreateBoundColumn(string strDataFieldValue, string strHeaderTextValue, bool bFlag, int iWeight) ...{ BoundColumn column = new BoundColumn(); column.DataField = strDataFieldValue; column.HeaderText = strHeaderTextValue; column.HeaderStyle.Font.Bold = bFlag; if(iWeight != 0) ...{ column.HeaderStyle.Width = iWeight; } return column; } #endregion