开发者

Gridview disable edit on 1 column asp.net

I am using a gridview Edit to edit the values i have in my gridview, when i press edit, all columns can be edited, i would like that one of the columns is not allowed to be edited.

Is there any way i can do this?

Thiss is my aspx code:

<asp:GridView 

ID="GridView1" 
runat="server" 
AllowSorting="True" 
OnRowCommand="GridView1_SelectedIndexChanged1" 
AutoGenerateEditButton="True" 
OnRowCancelingEdit="GridView1_RowCancelingEdit" 
CellSpacing="10"
OnRowUpdating="GridView1_RowUpdating" ShowFooter="True" 
onselectedindexchanged="GridVie开发者_运维技巧w1_SelectedIndexChanged"
OnRowEditing="GridView1_RowEditing">



</asp:GridView>

Thanks


If you are using asp:BoundField, try

<asp:BoundField DataField="CustomerID"
        ReadOnly="true"      
        HeaderText="Customer ID"/>

Or else if you are using asp:TemplateField, you can either

  1. Render it in either an asp:Label inside EditItemTemplate
  2. Omit the EditItemTemplate for that column altogether


Sure, make use of the EditItemTemplate. In the following example field ID will not be edited in the Edit mode:

<asp:GridView runat="server">
    <Columns>
        ...
        <asp:TemplateField HeaderText="ID">
            <EditItemTemplate>
                <%# Eval("ID") %>
            </EditItemTemplate>
        </asp:TemplateField>
        ...
    </Columns>
</asp:GridView>


please show some markup. Quick and dirty I think depending on your markup aspx you can remove the textbox from the EditItem template for the column you want to prevent editing... there are also other solutions of course :)


If you are using template field

((TemplateField)gvGridView.Columns[index]).EditItemTemplate = null;

if boundfield

((BoundField)gvGridView.Columns[index]).ReadOnly = true;
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜