允许编辑一列而不编辑另一列

本文关键字:一列 编辑 许编辑 | 更新日期: 2023-09-27 18:10:30

我有一个asp.net c#应用。

我的gridview有一个数据源,有两个字段。

1字段不能被用户编辑,但我需要另一个是可编辑的!

这是可能的吗?

允许编辑一列而不编辑另一列

ReadOnly="true"属性设置为所有不需要编辑的内容

看看http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.boundfield.readonly.aspx

一个来自该页面的快速示例

<asp:gridview id="CustomersGridView" 
    datasourceid="CustomersSqlDataSource" 
    autogeneratecolumns="false"
    autogenerateeditbutton="true"
    allowpaging="true" 
    datakeynames="CustomerID"  
    runat="server">
    <columns>
      <asp:boundfield datafield="CustomerID" readonly="true" headertext="Customer ID"/>
      <asp:boundfield datafield="CompanyName" readonly="true" headertext="Customer Name"/>
      <asp:boundfield datafield="Address" headertext="Address"/>
      <asp:boundfield datafield="City" headertext="City"/>
      <asp:boundfield datafield="PostalCode" headertext="ZIP Code"/>
    </columns>
</asp:gridview>

在这种情况下CustomerIDCompany name是只读的,不能修改。<<strong>地址/strong>、城市 PostalCode 可以编辑。

只要在你不希望别人编辑的列上设置ReadOnly选项为true。在编辑模式下,用户可以编辑未设置此设置或ReadOnly设置为false的列。

如果你使用SqlDataSource那么你应该确保从SqlDataSource的UpdateCommand中删除要更新的列如果不这样你在更新字段时就会有问题

您应该能够在DataGridViewCell上设置只读。

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.readonly.aspx

gridView.Rows[rowIndex][colName].ReadOnly = true;