GridView отключить редактирование в 1 столбце asp.net
Я использую GridView Edit для редактирования значений, которые у меня есть в моем gridview, когда я нажимаю edit, все столбцы могут быть отредактированы, я хотел бы, чтобы один из столбцов не разрешалось редактировать.
есть ли способ сделать это?
Это мой код 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>
спасибо
4 ответов
конечно, используйте EditItemTemplate. В следующем примере поле ID не будет редактироваться в режиме редактирования:
<asp:GridView runat="server">
<Columns>
...
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<%# Eval("ID") %>
</EditItemTemplate>
</asp:TemplateField>
...
</Columns>
</asp:GridView>
если вы используете asp:BoundField
попробуй
<asp:BoundField DataField="CustomerID"
ReadOnly="true"
HeaderText="Customer ID"/>
или если вы используете asp:TemplateField
вы можете
- сделать это в любом
asp:Label
внутриEditItemTemplate
-
пропустить на
EditItemTemplate
для этой колонки в целом
пожалуйста, покажите некоторую разметку. Быстрый и грязный я думаю, что в зависимости от вашей разметки aspx вы можете удалить текстовое поле из шаблона EditItem для столбца, который вы хотите предотвратить редактирование... конечно, есть и другие решения:)
Если вы используете поле шаблона
((TemplateField)gvGridView.Columns[index]).EditItemTemplate = null;
Если boundfield
((BoundField)gvGridView.Columns[index]).ReadOnly = true;