选中/取消选中,网格视图ASP.Net中的复选框列表

本文关键字:Net ASP 列表 复选框 视图 网格 取消 选中 | 更新日期: 2024-09-08 05:24:49

我在gridview中有两列,branchname及其子分支。这两个详细信息都是从数据库中检索的
1.分支机构名称-->checkbox
2.支行-->checkboxlist
如果我检查每个分支名称在其子分支列中包含所有子分支名称,我的查询是,如果我选择分支名称1,则应选择其所有对应的分支名称
请帮我一下。

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        Height="315px" Width="476px" OnRowDataBound="rowdatabound" 
        onselectedindexchanged="GridView1_SelectedIndexChanged">
    <Columns>
    <asp:TemplateField HeaderText="ID">
    <ItemTemplate>
    <asp:Label ID="lblid" runat="server" Text='<%#Eval("did") %>'>
    </asp:Label>
    </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField HeaderText="">
    <ItemTemplate>
    <asp:CheckBox ID="chkdivname" runat="server" Text='<%#Eval("branchname") %>' onclick = "checkAll(this);" />
    </ItemTemplate>
    </asp:TemplateField >
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
        DataSourceID="SqlDataSource1" DataTextField="subBranchname" DataValueField="Bid" onclick = "Check_Click(this)">
    </asp:CheckBoxList>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:SowmiaConnectionString %>" 
        SelectCommand="SELECT [Bid], [Branchname] FROM [BranchName]">
    </asp:SqlDataSource>
    </ItemTemplate>
</asp:TemplateField>
    </Columns>
    </asp:GridView>

提前感谢

选中/取消选中,网格视图ASP.Net中的复选框列表

好吧,这可能不是100%正确的,但您可以通过以下方式获得想法
尝试OnCheckedChanged="Branch_Clicked"方法。

    <asp:CheckBox ID="chkdivname" runat="server" Text='<%#Eval("branchname") %>' onclick = "checkAll(this);" OnCheckedChanged="Branch_Clicked" />  

在.cs文件中,您可以执行以下操作:

void Branch_Clicked(Object sender, EventArgs e) 
      {
        int branchId= chkdivname.Id;  // you have to get branchId here
        querySelectSubBranch="SELECT [Branchname] FROM [BranchName] Where BID='"+ branchId+"'";
         //run query using your connection;
         //save your result in some LIST i.e subBranchName
       foreach(ListItem branchName in subBranchName.Items)
       {
         CheckBoxList1.Items.FindByValue(branchName.BranchName).Selected = true;
       }
      }

考虑到您的checkAll(this)是正确的

如果需要onClick事件,请使用此选项

<label><input type='checkbox' id="chkdivname" onclick='checkAll(this);'>checkboxName2</label>

否则对服务器控件使用OnCheckedChanged事件。