Gridview vith复选框-当选中某些复选框时,使按钮处于非活动状态
本文关键字:复选框 按钮 于非 活动状态 vith Gridview | 更新日期: 2023-09-27 18:20:46
我有一个Gridview,它绑定了SQL表中的一些数据。在GV的第一列中,我有复选框。是否可以根据选中的复选框启用/禁用按钮?
为了更好地理解,这里有一个例子;
在GV中,我们有第一列cboxes,第二列是ID,第三列是Category。
<asp:GridView ID="MyGV" runat="server" AutoGenerateColumns="False" DataKeyNames="ID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="MyCBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
<asp:BoundField DataField="category" HeaderText="Category" SortExpression="category" />
</Columns>
</asp:GridView>
我们有两个按钮(Btn1和Btn2)
<asp:Button ID="Btn1" runat="server" Text="btn1" OnClick="Btn1_Click" />
<asp:Button ID="Btn2" runat="server" Text="btn2" OnClick="Btn2_Click" />
现在。。。假设我们有两个类别(Cat1和Cat2)。当我们选中一个复选框,并且该行的Category值为Cat1时,我们启用了Btn1,禁用了Btn2;
Btn1.Enabled = true;
Btn2.Enabled = false;
这能做到吗?怎样
假设您只有两个类别
<asp:GridView ID="MyGV" runat="server" AutoGenerateColumns="False" DataKeyNames="ID">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="MyCBox" Text="Select Cat" AutoPostBack="true" ToolTip='<%#Bind("category") %>' OnCheckedChanged="MyCBox_CheckedChanged" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
<asp:BoundField DataField="category" HeaderText="Category" SortExpression="category" />
</Columns>
复选框的代码隐藏事件
protected void MyCBox_CheckedChanged(object sender, EventArgs e)
{
if( ((CheckBox)sender).ToolTip == "cat1"
{
Btn1.Enabled = true;
Btn2.Enabled = false;
}
else
{
Btn1.Enabled = false;
Btn2.Enabled = true;
}
}
按钮是网格的一部分吗?