如何在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中完成的。谢谢你。
进入.aspx文件的设计模式。
点击GridView控件
点击出现的小">"箭头按钮。
单击编辑列。
在已选字段列表中,您可以设置每列的属性。
设置readOnly为false,使列可编辑
在网格的onRowDataBound事件中,您可以根据具体情况设置要禁用的列
在这种情况下,您需要使用Edit template>>它将允许您将单元格设置为可编辑或只读