gridview中嵌套checkbox,如何在选中事件中获取当前行的索引值

我从GridView1模板列中拖一CheckBox1,然后想在CheckBox2_CheckedChanged事件中实现:点击CheckBox1选中的话就获取当前行的索引... 我从GridView1模板列中拖一CheckBox1,然后想在CheckBox2_CheckedChanged事件中实现:点击CheckBox1选中的话就获取当前行的索引值,本来我是想用if(((CheckBox)GridView1.Rows[e.RowIndex].FindControl("checkbox1")).Checked==true)做判断条件的!可是发现[e.RowIndex]中e的RowIndex属性调不出来,没辙了,于是特来请教各位高手指点,最好附带些解释说明,非常感谢!
用循环我已经实现了,但表大的时候明显响应速度慢!我就想点哪行的checkbox,就能直接获取当前行索引或行标都行,因为我需要在此行上触发一系列动作。
展开
 我来答
谈指菩提
2008-05-07 · TA获得超过2405个赞
知道大有可为答主
回答量:1073
采纳率:0%
帮助的人:1869万
展开全部
我想我解决你的问题了:
在你的事件里,
取((CheckBox)sender).Parent.Parent会取到你的控件所在的那一行。再转换一下
(GridViewRow)((CheckBox)sender).Parent.Parent)就得到了那个GridViewRow对象,之后取RowIndex什么的就随你意了。

——————————————————
你的e是普通的EventArg,当然不可能有e.RowIndex属性。
有两种方法。
一种是不用取当前行的索引值,直接用CheckBox2_CheckedChanged方法中的参数sender。
(CheckBox)sender就是将sender转化为一个CheckBox对象,你做相应判断就可以了。

另外一种要麻烦些。
你写一个循环,对GridView里面的每一行中的((CheckBox)GridView1.Rows[i].FindControl("checkbox1")).Checked进行判断。

但这两种方法你都仍然无法判断触发事件的是哪一行。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式