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
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