为什么不';我的复选框不起作用

本文关键字:复选框 不起作用 我的 为什么不 | 更新日期: 2023-09-27 18:26:12

我在gridview中有一个复选框。我想用选中/取消选中复选框更新数据库表(true/false)中的BIT字段,但它不起作用。

我正在用这个填充网格视图

Select  CaseHearings.pk_CaseHearings_ID, IsConveyed                  
        From CaseHearings

和这个

<asp:TemplateField HeaderText="Conveyed ?">
        <ItemTemplate>
              <asp:CheckBox ID="chkBoxIsConveyed" runat="server" CssClass="form-control"
              Checked='<%# Eval("IsConveyed") == DBNull.Value? false: Convert.ToBoolean(Eval("IsConveyed")) %>' />
         </ItemTemplate>
</asp:TemplateField>

为什么不';我的复选框不起作用

当gridview处于编辑模式时,您需要模板:

<asp:TemplateField HeaderText="MyBool" SortExpression="MyBool">
    <EditItemTemplate>
        <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("MyBool") %>' />
    </EditItemTemplate>
    <ItemTemplate>
        <asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Bind("MyBool") %>' Enabled="false" />
    </ItemTemplate>
</asp:TemplateField>

您可以使用:

<Columns>
    <asp:CommandField ShowEditButton="true"/>
    <asp:CheckBoxField DataField="IsConveyed" HeaderText="Conveyed ?" />
    .
    .
</Columns>

然后实现事件OnRowEditingOnRowUpdating等,对编辑后的数据进行处理。或者根据您收集和绑定数据的方式使用asp:SqlDataSource等。