如何在Gridview中启用对单个列的编辑

本文关键字:单个列 编辑 启用 Gridview | 更新日期: 2023-09-27 17:51:03

现在,我在GridView中有三列:

<asp:GridView ID="ProjectTable" runat="server" AutoGenerateColumns="False" DataSourceID="PopulateProjectTable">
        <Columns>
            <asp:BoundField DataField="ProjectID" HeaderText="Project ID" SortExpression="ProjectID" />
            <asp:BoundField DataField="ProjectDescription" HeaderText="Project Description" SortExpression="ProjectDescription" />
            <asp:BoundField DataField="ProjectNotes" HeaderText="Project Notes" SortExpression="ProjectNotes" />
        </Columns>
</asp:GridView>
<asp:SqlDataSource ID="PopulateProjectTable" runat="server" ConnectionString="<%$ ConnectionStrings:sandboxConnectionString %>" SelectCommand="SELECT * FROM [Projects]"></asp:SqlDataSource>

在大多数情况下,除了第三列之外,它是只读的。起初,我想使用AutoGenerateEditButton,但它导致每个列都是可写的。我认为这很好,但我不想给用户那么大的权力。因此,我想到了两种方法来解决这个问题。第一种方法是默认情况下让第三列是可读的,但是通过左键单击该列中的一行,它会将其更改为可写的。它会让人联想到在Windows中轻轻双击文件名,它将是可编辑的。

第二种方法是在点击AutoGenerateEditButton时禁用对前两列的编辑,而只对第三列"工作"。然而,我不确定如何做这部分。

是我的第一种方式,甚至可能在GridView?请注意,所有这些都是在Visual Studio中完成的。谢谢你。

如何在Gridview中启用对单个列的编辑

进入.aspx文件的设计模式。

点击GridView控件

点击出现的小">"箭头按钮。

单击编辑列。

在已选字段列表中,您可以设置每列的属性。

设置readOnly为false,使列可编辑

在网格的onRowDataBound事件中,您可以根据具体情况设置要禁用的列

在这种情况下,您需要使用Edit template>>它将允许您将单元格设置为可编辑或只读