//创建句柄委托
private void dgOrderConfirm_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
{
CheckBox cb=(CheckBox)e.Item.FindControl("cbselect");
cb.CheckedChanged+=new System.EventHandler(this.cbselectChanged);
}
}
//创建事件
private void cbselectChanged(object sender,System.EventArgs e)
{
CheckBox cb=(CheckBox)sender;
DataGridItem li=(DataGridItem)cb.Parent.Parent;
if(cb.Checked==true)
{
li.Cells[8].Text=string.Format("{0:F2}",float.Parse(li.Cells[7].Text)*(float.Parse(((TextBox)li.FindControl("tbdiscount")).Text))).ToString();
this.lbgetsum.Text=string.Format("{0:F2}",(float.Parse(this.lbgetsum.Text)+float.Parse(li.Cells[8].Text))).ToString();
}
else
{
this.lbgetsum.Text=string.Format("{0:F2}",(float.Parse(this.lbgetsum.Text)-float.Parse(li.Cells[8].Text))).ToString();
li.Cells[8].Text="";
}
}
//遍历datagrid
foreach(DataGridItem dgi in DataGrid1.Items)
{
if(((CheckBox)dgi.FindControl("cbselect")).Checked && (((CheckBox)dgi.FindControl("cbback")).Checked))
{
Response.Write(string.Format("<script language='javascript'>alert(/"不能收款和退单同时都选中/");</script>"));
return;
}
}
博客给出了一段代码,包含创建句柄委托和事件的代码。在DataGrid的ItemCreated事件中处理CheckBox,在CheckBox的CheckedChanged事件中进行数据计算和显示更新。还对DataGrid进行遍历,检查CheckBox选中状态并给出提示。主要涉及DataGrid、CheckBox和JavaScript。
1137

被折叠的 条评论
为什么被折叠?



