我正在使用gridview编辑来编辑我在gridview中的值,当我按下编辑时,所有列都可以编辑,我希望不允许编辑其中一列。
我有什么方法可以做到这一点吗?
这是我的aspx代码:
<asp:GridView
ID="GridView1"
runat="server"
AllowSorting="True"
OnRowCommand="GridView1_SelectedIndexChanged1"
AutoGenerateEditButton="True"
OnRowCancelingEdit="GridView1_RowCancelingEdit"
CellSpacing="10"
OnRowUpdating="GridView1_RowUpdating" ShowFooter="True"
onselectedindexchanged="GridView1_SelectedIndexChanged"
OnRowEditing="GridView1_RowEditing">
</asp:GridView>
由于
答案 0 :(得分:24)
如果您使用asp:BoundField
,请尝试
<asp:BoundField DataField="CustomerID"
ReadOnly="true"
HeaderText="Customer ID"/>
否则,如果您使用asp:TemplateField
,则可以
asp:Label
内EditItemTemplate
EditItemTemplate
答案 1 :(得分:5)
当然,请使用EditItemTemplate。在以下示例中,不会在编辑模式下编辑字段ID:
<asp:GridView runat="server">
<Columns>
...
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<%# Eval("ID") %>
</EditItemTemplate>
</asp:TemplateField>
...
</Columns>
</asp:GridView>
答案 2 :(得分:0)
请显示一些标记。快速而肮脏我认为根据您的标记aspx,您可以从EditItem模板中删除要阻止编辑的列的文本框...当然还有其他解决方案:)
答案 3 :(得分:0)
如果您使用的是模板字段
((TemplateField)gvGridView.Columns[index]).EditItemTemplate = null;
如果是boundfield
((BoundField)gvGridView.Columns[index]).ReadOnly = true;