关于DataList中CheckBox的CheckedChanged事件。。。
RT我现在有这么一个需求...当我勾选了DataList中的后面的某一项CheckBox...就会触发一个事件...我是这么写的。。protectedvoidchkFen...
RT 我现在有这么一个需求...当我勾选了DataList中的后面的某一项CheckBox...就会触发一个事件...我是这么写的。。
protected void chkFen_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < DataList1.Items.Count; i++)
{
CheckBox chkFen = (CheckBox)DataList1.Items[i].FindControl("chkFen");
if (chkFen.Checked == true)
{
----这里面是触发的事件
}
}
}
如果我一项一项的勾选没有问题...但是如果我之前勾选了很多项...突然发现有一项勾错了,我要去掉它。。于是我把已经勾选了很多项的其中的一项去掉....上面的事件也会执行...因为我写的方法有点问题...每勾选一项,它会从头到尾的循环一次。。如果发现其中一个CheckBox的Checked为True ,那么它会触发事件....
有没有什么其它的方法能解决这样的问题..拜谢了 展开
protected void chkFen_CheckedChanged(object sender, EventArgs e)
{
for (int i = 0; i < DataList1.Items.Count; i++)
{
CheckBox chkFen = (CheckBox)DataList1.Items[i].FindControl("chkFen");
if (chkFen.Checked == true)
{
----这里面是触发的事件
}
}
}
如果我一项一项的勾选没有问题...但是如果我之前勾选了很多项...突然发现有一项勾错了,我要去掉它。。于是我把已经勾选了很多项的其中的一项去掉....上面的事件也会执行...因为我写的方法有点问题...每勾选一项,它会从头到尾的循环一次。。如果发现其中一个CheckBox的Checked为True ,那么它会触发事件....
有没有什么其它的方法能解决这样的问题..拜谢了 展开
3个回答
展开全部
二楼的正解
只是onclick事件为客户端事件,所以OnCheckedChanged="chkFen_CheckedChanged"不变
只要改一下后台程序就可以了
protected void chkFen_CheckedChanged(object sender, EventArgs e)
{
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
CheckBox chkFen = (CheckBox)DataList1.Items[ item.ItemIndex].FindControl("chkFen");
if (chkFen.Checked == true)//不过有个问题,如果你是取消选择的话chkFen.Checked ==false,事件就没有执行,那么你取消操作相当于没有执行,这就看你程序是逻辑是怎么设计的了,啰嗦一下,呵呵
{
//这里面是触发的事件
}
}
}
只是onclick事件为客户端事件,所以OnCheckedChanged="chkFen_CheckedChanged"不变
只要改一下后台程序就可以了
protected void chkFen_CheckedChanged(object sender, EventArgs e)
{
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
CheckBox chkFen = (CheckBox)DataList1.Items[ item.ItemIndex].FindControl("chkFen");
if (chkFen.Checked == true)//不过有个问题,如果你是取消选择的话chkFen.Checked ==false,事件就没有执行,那么你取消操作相当于没有执行,这就看你程序是逻辑是怎么设计的了,啰嗦一下,呵呵
{
//这里面是触发的事件
}
}
}
展开全部
我没太看懂。
我想,你是不是可以定义一个bool数组啊,该数组就记录DataList里CheckBox状态的。
我想,你是不是可以定义一个bool数组啊,该数组就记录DataList里CheckBox状态的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在checkbox的onclick事件中
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
int m = item.ItemIndex;//这个i为操作的行
吧那个CheckedChanged去掉
DataListItem item = (DataListItem)(((Control)sender).NamingContainer);
int m = item.ItemIndex;//这个i为操作的行
吧那个CheckedChanged去掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询