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

时间:2015-05-28 15:11:08

标签: c# asp.net gridview

现在,我在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中执行所有这些操作。谢谢。

3 个答案:

答案 0 :(得分:0)

转到.aspx文件的设计模式。

单击GridView控件。

点击小“&gt;”出现的箭头按钮。

单击“编辑列”。

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

通过将readOnly设置为false来使列可编辑。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

在这种情况下,您需要使用修改模板&gt;&gt;它将允许您使单元格可编辑或只读