asp.net Gridview 复选框无需编辑即可点击

asp.net Gridview checkbox is clickable without edit

我的 griview 上有一个复选框,可以在单击编辑按钮之前单击它,这对我来说没有意义,而且我以前也没有遇到过。理论上,在用户单击编辑按钮之前,复选框应该是灰色的。

无法更新任何内容,但对于为何提供此功能没有任何意义。我在使用复选框之前设置了 Gridviews,但从未遇到过这种情况。下面是我的代码:

<asp:GridView ID="gvLeagues" runat="server" 
            AutoGenerateColumns="False"  
            onpageindexchanging="gvLeagues_PageIndexChanging"  
            onrowcancelingedit="gvLeagues_RowCancelingEdit"  
            onrowdatabound="gvLeagues_RowDataBound"
            onrowediting="gvLeagues_RowEditing" 
            onrowupdating="gvLeagues_RowUpdating"  
            onsorting="gvLeagues_Sorting" EnableModelValidation="True"          
            CssClass="footable"
            EditRowStyle-CssClass="table table-bordered" > 

未找到数据。

        <asp:TemplateField HeaderText="Name" SortExpression="Name">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Name")%>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate><asp:Label ID="Label1" runat="server" Text='<%# Bind("Name")%>'></asp:Label></ItemTemplate>
        </asp:TemplateField>            

        <asp:TemplateField HeaderText="Created Date" SortExpression="CreatedDate">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox2" runat="server" ReadOnly="true" Text='<%# Bind("CreatedDate")%>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate><asp:Label ID="Label2" runat="server" Text='<%# Bind("CreatedDate")%>'></asp:Label></ItemTemplate>
        </asp:TemplateField>            

        <asp:TemplateField HeaderText="Day" SortExpression="Day">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Day")%>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate><asp:Label ID="Label3" runat="server" Text='<%# Bind("Day")%>'></asp:Label></ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="Season" SortExpression="Season">
            <EditItemTemplate>
                <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Season")%>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate><asp:Label ID="Label4" runat="server" Text='<%# Bind("Season")%>'></asp:Label></ItemTemplate>
        </asp:TemplateField>

        <asp:TemplateField HeaderText="Enabled" SortExpression="Enabled">
            <EditItemTemplate>
                <asp:CheckBox ID="chkEnabled" runat="server" Checked='<%# Eval("Enabled")%>' />
            </EditItemTemplate>
            <ItemTemplate><asp:CheckBox ID="chkEnabled" runat="server" Checked='<%# Eval("Enabled")%>' /></ItemTemplate>
        </asp:TemplateField>

    </Columns>
    </asp:GridView>

使用 ItemTemplate 时,您是指定要查看它的内容和方式的人。只需将该复选框设置为 disabled

    <asp:TemplateField HeaderText="Enabled" SortExpression="Enabled">
        <EditItemTemplate>
            <asp:CheckBox ID="chkEnabled" runat="server" Checked='<%# Eval("Enabled")%>' />
        </EditItemTemplate>
        <ItemTemplate><asp:CheckBox ID="chkEnabled" runat="server" Checked='<%# Eval("Enabled")%>'  enabled="False"/></ItemTemplate>
    </asp:TemplateField>