现在,我在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
时禁用前两列的编辑,而只是让它&#34;工作&#34;对于第三列。但是,我不确定如何做这个部分。
我的第一种方式甚至可以在GridView中使用吗?请注意,我在Visual Studio中执行所有这些操作。谢谢。
答案 0 :(得分:0)
转到.aspx文件的设计模式。
单击GridView控件。
点击小“&gt;”出现的箭头按钮。
单击“编辑列”。
在选定的字段列表中,您可以设置每列的属性。
通过将readOnly设置为false来使列可编辑。
答案 1 :(得分:0)
在网格的onRowDataBound事件中,您可以根据具体情况设置要禁用的列。
答案 2 :(得分:0)
在这种情况下,您需要使用修改模板&gt;&gt;它将允许您使单元格可编辑或只读