选中/取消选中,网格视图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>
提前感谢
好吧,这可能不是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
事件。