c# - datos - headerstyle gridview asp net
Gridview disable edit en 1 columna asp.net (4)
Estoy usando una vista de cuadrícula Editar para editar los valores que tengo en mi vista de cuadrícula, cuando presiono editar, todas las columnas se pueden editar, me gustaría que una de las columnas no se pueda editar.
¿Hay alguna manera de que pueda hacer esto?
Este es mi código 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>
Gracias
Claro, haga uso de EditItemTemplate. En el siguiente ejemplo, ID de campo no se editará en el modo de edición:
<asp:GridView runat="server">
<Columns>
...
<asp:TemplateField HeaderText="ID">
<EditItemTemplate>
<%# Eval("ID") %>
</EditItemTemplate>
</asp:TemplateField>
...
</Columns>
</asp:GridView>
Si está usando el campo de plantilla
((TemplateField)gvGridView.Columns[index]).EditItemTemplate = null;
si boundfield
((BoundField)gvGridView.Columns[index]).ReadOnly = true;
Si está utilizando asp:BoundField
, intente
<asp:BoundField DataField="CustomerID"
ReadOnly="true"
HeaderText="Customer ID"/>
O bien, si está utilizando asp:TemplateField
, puede
- Ríndelo en un
asp:Label
dentro deEditItemTemplate
- Omita
EditItemTemplate
para esa columna en conjunto
por favor, muestre algunos márgenes. Rápido y sucio, creo que dependiendo de su aspx de marcado puede eliminar el cuadro de texto de la plantilla EditItem para la columna que desea evitar la edición ... también hay otras soluciones, por supuesto :)