一个DBGRID,有如下几个模板列
<Columns>
<asp:TemplateColumn HeaderText="状态">
<ItemTemplate>
<asp:CheckBox id="CheckBox" runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="ID号">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "regid") %>' ID="Label15"/>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>我现在有如下要求:1。有一个全选按牛,点一下后,选中所有复选框。2,我要对选中的行,把相对应的”ID 号“取出来,进行其它操作?新手提问,望各位能者详细解答

解决方案 »

  1.   

    1,用javacript实现
    2、在循环取datagrid里的每一个item,取出模板里的对象判断代码我就不贴了
      

  2.   

    //全选,全消
    function selectAll()
    {
    var len=document.Form1.elements.length;
    var i;

    var check2ed = document.Form1.checkbox2.checked;

    for(i=0;i<len;i++)
    {
    if(document.Form1.elements[i].type=="checkbox" )
    {
               if(document.Form1.elements[i].id != "checkbox2")
    {
    document.Form1.elements[i].checked = check2ed;
    }

    }
    }

    }//datagrid的部分模板列
    <asp:TemplateColumn>
    <HeaderStyle Width="20px"></HeaderStyle>
    <HeaderTemplate>
    <INPUT id="checkbox2" onclick="selectAll()" type="checkbox">
    </HeaderTemplate>
    <ItemTemplate>
    <asp:CheckBox id="CheckBox1" runat="server"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>//代码
    CheckBox cb = new CheckBox();foreach(DataGridItem item in dgDocument.Items)
    {
    cb = (CheckBox)item.Cells[0].Controls[1];
    if(cb.Checked == true)
    {
    //添加你的处理
    }
    }