允许编辑一列而不编辑另一列
本文关键字:一列 编辑 许编辑 | 更新日期: 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>
在这种情况下CustomerID和Company name是只读的,不能修改。<<strong>地址/strong>、城市和 PostalCode 可以编辑。
只要在你不希望别人编辑的列上设置ReadOnly选项为true。在编辑模式下,用户可以编辑未设置此设置或ReadOnly设置为false的列。
如果你使用SqlDataSource那么你应该确保从SqlDataSource的UpdateCommand中删除要更新的列如果不这样你在更新字段时就会有问题
您应该能够在DataGridViewCell上设置只读。
http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewcell.readonly.aspxgridView.Rows[rowIndex][colName].ReadOnly = true;