我在gridview,branchname及其subbranch中有2列。这两个细节都是从数据库中检索出来的
1.分支名称 - > checkbox
2.subbranch - > 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>
感谢提前
答案 0 :(得分:1)
嗯,这可能不是100%正确,但你可以通过以下来获得想法 尝试 OnCheckedChanged =“Branch_Clicked” Method。
<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;
}
}
答案 1 :(得分:0)
考虑到checkAll(this)
是正确的
如果您需要onClick
活动
<label><input type='checkbox' id="chkdivname" onclick='checkAll(this);'>checkboxName2</label>
否则将OnCheckedChanged
事件用于服务器控件。