скрыть столбец Gridview, но получить значение - PullRequest
1 голос
/ 31 августа 2011

У меня есть GridView, который я связываю с ним на Page_Load ().Я хочу скрыть один из его столбцов, но хочу иметь к нему доступ.Я пытался

       SqlCommand sqlCommand = new SqlCommand("select name,surname,id from test", sqlConnection);
        sqlConnection.Open();
        SqlDataReader reader = sqlCommand.ExecuteReader();         
        GridView1.DataSource = reader;          
        GridView1.DataBind();
GridView1.columns[1].visible= False;

И я получаю ошибку Индекс был вне диапазона.Должен быть неотрицательным и меньшим, чем размер коллекции.Есть идеи?

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Используйте для этого ключи данных.

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" ...>
   <Columns>
       <asp:BoundField HeaderText="Name" DataField="Name" />
       <asp:BoundField HeaderText="Surname" DataField="Surname" />
   </Columns>
</asp:GridView>

После добавления ключей данных вы можете получить доступ к следующим значениям:

 //returns the id at the first row
 int ID = GridView1.DataKeys[0]["ID"] as int;
0 голосов
/ 31 августа 2011

проверили ли вы это: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datacontrolfield.visible.aspx: " .. добавьте имя поля в свойство DataKeyNames элемента управления с привязкой к данным "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...