2010-06-21 3 views
4

Я столкнулся с чем-то странным. Я хотел иметь значение поля gridview, поэтому я сделал это.получение значения связанного поля в gridview

SelectedID = objGridView.Rows(0).Cells(4).Text.ToString 

Сначала это работало. Я играл вокруг небольшого созданного гиперссылка, который хотел получить эту ценность, но получил пустую строку. После того, как некоторые огляделись вокруг, оказалось, что я не мог получить это так легко, как мог, с boundtextfield. Нет проблем.

Но вот моя проблема, теперь моя строка кода для извлечения значения из selectedId больше не работает (по крайней мере, я возвращаю пустые строки).

Я построил и восстановил сетку, но безрезультатно. Я ошеломлен и не понимаю, почему это больше не работает. Отсюда мой вопрос. У кого-нибудь есть идея, что происходит или есть решение этой проблемы.

редактировать: Я вижу это в моем значении пункта «Для того, чтобы оценить индексированное свойство, свойство должно быть квалифицировано и аргументы должны быть явно предоставлен пользователем»

+0

В случае, если кто читает это, у меня есть эта точная проблема. Я использую тот же код для извлечения данных из BoundField и получаю только пустые строки. –

ответ

0

Существует ответ here

Другой (который был причиной моей проблемы) мог бы состоять в том, что для BoundFields установлено значение Visible = false. Невидимые Связанные поля ... не связаны.

Простым обходным решением является сделать его невидимым в CSS вместо этого.

код позади:

gvColumn.ItemStyle.CssClass = "className" 

CSS:

.className { display:none; } 
1

Не знаю, почему вы не использовать DataGridView.

Я начал с GridView, а также, но после изменения типа управления это очень легко, чтобы получить эти значения например:

SelectedID = dgvExample.CurrentRow.Cells("Columname/Index").Value 

dgv compared with gv

+2

Это старый пост, но для ясности DataGridView - это настольная форма Windows. Gridview предназначен для веб-сайтов. Они очень разные и несовместимы в противоположной среде. – htm11h