2010-08-28 4 views
0

У меня есть gridview, который содержит столбцы моего желания отображать. Но я хочу получить доступ к значению для строки данных gridview, которая не отображается в gridview, но она находится в datatable для этой конкретной строки.
Первоначально, что я сделал, отображает его в gridview, а также я получил доступ к его значению с помощью индекса, но я действительно не хочу отображать его значение в gridview. В этом случае я устанавливаю visible = false, но затем он не распознает ячейку, так что я должен сделать для этого?
Пожалуйста, дайте мне знать, так что мне не нужно отображать эту конкретную строку, и я могу получить доступ к значению для этой строки, которые существуют в таблице данных.asp.net gridview

+1

И дышите ...! – PhilPursglove

+0

Что вы планируете делать с этим значением? Можете ли вы сохранить значение в файле cookie? – user279521

+0

Ваш вопрос неясно, говорите ли вы о столбце, который вы не хотите отображать, или о совершенно отдельной строке данных. Уточните пожалуйста? –

ответ

0

Вы пытаетесь использовать это для чего-то вроде первичного ключа из таблицы? Вот сообщение в блоге, которое я написал пару лет назад, в котором объясняется, как вы можете использовать такое поле в базе данных без его отображения. Суть его в том, что вы должны изучить использование DataKeys.

Using a Primary Key with ASP.NET Data Controls

1

Вы можете получить доступ ко всем значениям столбцов, если вы установите их видимые = «ложь», в этой ситуации Вам необходимо установить DataKey имя для GridView.

//In GridView RowCommand Event: 
    int index = Convert.ToInt32(e.CommandArgument); 

    //If we have more than one DataKeys (ItemId is the field that is visbile = false and myGridView.DatakeyName = Itemid) 
    int ItemId = Convert.ToInt32(GridView1.DataKeys[index].Values["ItemId"]); 
    //else 
    int ItemId = Convert.ToInt32(GridView1.DataKeys[index].Value); 

Если нужный столбец не DataKey, поэтому вы можете использовать gridViewRow

GridViewRow row = GridView1.Rows[index]; 

и тогда вы можете получить доступ ко всем столбец этой строки.

Надеюсь, что эта помощь