首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

如何遍历并获取GridView中checkBox是否选中以及该项的id?

2013-08-11 
怎么遍历并获取GridView中checkBox是否选中以及该项的id???在gridview表中我添加了复选框 asp:TemplateFi

怎么遍历并获取GridView中checkBox是否选中以及该项的id???
在gridview表中我添加了复选框 

<asp:TemplateField HeaderText="全选">
                    <HeaderTemplate>
                        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" 
                            oncheckedchanged="CheckBox1_CheckedChanged" Text=" " />
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:CheckBox ID="ck" runat="server" oncheckedchanged="ck_CheckedChanged" />
                    </ItemTemplate>
                </asp:TemplateField>

.CS文件
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
    {
        CheckBox all = (CheckBox)sender;
        foreach (GridViewRow g in GridView1.Rows)
        {
            CheckBox ck = (CheckBox)g.FindControl("ck");
            ck.Checked = all.Checked;
        }
    }
    protected void ck_CheckedChanged(object sender, EventArgs e)
    {

    }
现在我想获得选中项的id值,并根据此ID值,在弹出层中显示详细信息??请问如何实现着个过程


[解决办法]
gridview.Rows[index].Cells[index].FindControl("checkbox1");
[解决办法]
Refer this:
http://www.cnblogs.com/insus/archive/2011/11/07/2238927.html
[解决办法]
List<long> shopperIDList = new List<long>();
            foreach (GridViewRow gvr in this.gvMember.Rows)
            {
                if (((CheckBox)gvr.FindControl("CheckBox1")).Checked) shopperIDList.Add(Convert.ToInt64(this.gvMember.DataKeys[gvr.RowIndex].Value));
            }

// 请注意这个属性 gvMember.DataKeys  你可以在工具的属性栏目中找到它,代表着自定义主键集合,可以多个,用英文输入法状态时的逗号隔开,只有一个字段时,直接用this.gvMember.DataKeys[gvr.RowIndex].Value就可以取得了,如果有多个字段,则使用this.gvMember.DataKeys[gvr.RowIndex].Values[index]来获取,其中index是索引号,从0开始,0则代表第一个字段,1代表第二个,以此类推, 还有注意的是它返回的值都是object类型的,你要自己转换

热点排行