2012-04-09 4 views
1

Я использую gridview Редактировать для редактирования значений, которые у меня есть в моем gridview, когда я нажимаю edit, все столбцы можно редактировать, я бы хотел, чтобы один из столбцов не разрешался редактироваться.как установить столбец как readonly в gridview

Есть ли способ, которым я могу это сделать?

Это мой ASPX код:

<asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" 
      onrowdeleting="GridView1_RowDeleting" AutoGenerateEditButton="True" 
      onrowediting="GridView1_RowEditing" 
      onrowcancelingedit="GridView1_RowCancelingEdit" 
      onrowupdating="GridView1_RowUpdating" > 
</asp:GridView> 

Это мой aspx.cs код:

public void loadCustomer() 
     { 
      SqlConnection objConnection = new SqlConnection("Data Source=localhost;Initial Catalog=SampleApplication;Integrated Security=True"); 
      objConnection.Open(); 
      SqlCommand objCommand = new SqlCommand(); 
      objCommand.CommandText = "Select * from Customer"; 
      objCommand.Connection = objConnection; 
      objCommand.ExecuteNonQuery(); 
      DataSet objds = new DataSet(); 
      SqlDataAdapter objadap = new SqlDataAdapter(objCommand); 
      objadap.Fill(objds); 
      GridView1.DataSource = objds.Tables[0]; 
      GridView1.DataBind(); 
      objConnection.Close(); 
     } 
+0

перейдите по этой ссылке: http://forums.asp.net/p/1442129/3268947.aspx –

ответ

-1

Вам необходимо для предоставления прав "ReadOnly= true" в той колонке, которая вам не нравится быть редактирования.

например.

GridView1.columns[1].ReadOnly= true; 

Вы можете использовать эту строку в событии RowDataBound GridView. .

1

RowDataBound событие gridView1

((BoundField) gridView1.Columns [ColumnIndex]) ReadOnly = TRUE;

+1

предоставьте некоторые детали. – Parixit

2

Я знаю, что это действительно старо, но мне нужно поставить ответ здесь для других, которые поделились моей проблемой. Несмотря на это, я боролся с этим без остановок на пару дней. Кажется, что все отправляют код для VB, когда ваша проблема четко размещена на C#.

Что вы ищете это:

protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     e.Row.Cells[columntobedisabled].Enabled = false; 
    } 

где «columntobedisabled» является порядковый номер столбца должен быть отключен ... например. 1