Вот мой код
Dim dt As DataTable = New DataTable("Intervenant")
For Each column As DataControlField In grdvIntervenants.Columns
dt.Columns.Add(New DataColumn(column.HeaderText))
Next
Dim dr As DataRow
For Each row As GridViewRow In grdvIntervenants.Rows
dr = dt.NewRow()
dr.Item(0) = row.Cells(0)
dr.Item(1) = row.Cells(1)
dr.Item(2) = row.Cells(2)
dr.Item(3) = row.Cells(3)
dr.Item(4) = row.Cells(4)
dr.Item(5) = row.Cells(5)
dt.Rows.Add(dr)
Next
'add new intervenant
dr = dt.NewRow()
dr.Item(0) = Nom
dr.Item(1) = Prenom
dr.Item(2) = Courriel
dr.Item(3) = False
dr.Item(4) = True
dr.Item(5) = IdIntervenant
dt.Rows.Add(dr)
grdvIntervenants.DataSource = dt
grdvIntervenants.DataBind()
Я занимаюсь разработкой в ASP.NET, используя VB.NET в качестве фонового кода. Я на vs2008 с Windows 7 Enterprise Edition (если эта информация поможет)
Я только что перезапустил работу с VB.Net и впервые использовал gridView без базы данных, поэтому, возможно, я что-то упустил. По сути, я пытаюсь добавить DataRow (dr) в DataTable (dt) и затем поместить указанный DataTable в Gridview (grdvIntervenants).
Мой первый шаг - взять представление сетки и поместить все его данные в DataTable. Затем я создаю DataRow (dr), который заполняю переменными, и добавляю указанный DataRow в DataTable. После этого я помещаю DataTable в качестве источника данных и связываю GridView.
Проблема в том, что мой GridView показывает строки, но они пусты.
Во время отладки я обнаружил, что эта ошибка была рядом со всеми DataRow.Item :
"Чтобы оценить индексированное свойство, свойство должно быть квалифицированным, а аргументы должны быть явно предоставлены пользователем" При поиске его в сети я обнаружил, что эта проблема иногда возникает с vb пользователи, но я не смог найти решение своей проблемы.
Я не совсем понял ошибку, поэтому я пробовал много разных способов добавления данных в DataRow, но безрезультатно. Я также попытался добавить колонку другим способом, думая, что проблема с индексами может исходить оттуда, но, опять же, проблема сохраняется. Теперь мне показалось странным, что свойство Item моего DataRow выдает ошибку в кавычках, но я вижу значения в ItemArray объекта DataRow.
Я также обнаружил, что такая же ошибка появляется рядом со свойством столбцов в dataTable.
Когда я пытаюсь получить доступ к данным из источника данных в моем методе rowDatabound с использованием DataBinder, он дает мне нулевые результаты ...
Итак, мой вопрос: что мне не хватает?