添加下面是我的代碼不能DataTable中值的GridView
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()
我使用VB.NET作爲後臺代碼在ASP.NET開發。我在vs2008與Windows 7企業版(如果該信息是任何幫助)
我剛剛重新開始做VB.Net和我第一次使用沒有數據庫的gridview,所以也許我失去了一些東西。基本上,我試圖向DataTable(dt)添加一個DataRow(dr),然後將所述DataTable放入一個Gridview(grdvIntervenants)中。
我的第一步是採取gridview並將其所有數據放入一個DataTable。然後我創建一個DataRow(dr),我用變量填充,然後將所述DataRow添加到DataTable中。之後,我將DataTable作爲DataSource並綁定GridView。
問題是,我的GridView顯示的行,但他們是空的。 調試時,我發現這個錯誤是身邊所有的DataRow.Item: 「爲了評估索引屬性,該屬性必須是合格的,參數必須由用戶明確提供」 Seraching爲它在網上,我發現這是一個問題,有時發生在vb用戶,但我無法找到任何解決方案,我的問題。
我並沒有完全理解錯誤,所以我嘗試了很多不同的方法將數據添加到DataRow中,但無濟於事。我也嘗試了不同的方式來添加列,認爲索引問題可能來自那裏,但問題仍然存在。現在,我發現奇怪的是,我的DataRow的Item屬性給出了帶引號的錯誤,但我將這些值看到DataRow的ItemArray中。
我還發現在dataTable的columns屬性旁邊會出現相同的錯誤。
當我嘗試從數據源訪問使用DataBinder我的RowDataBound方法的數據,這讓我空結果...
所以我的問題是:什麼我失蹤?
這是沒有意義的。首先,你從網格中的數據創建一個數據表,然後用數據表填充網格? – 2012-01-10 21:16:57
你應該真的顯示GridView的aspx標記。順便說一句,如果你打算啓用分頁,你應該重新考慮你的方法(即查詢數據源),因爲GridView.Rows只返回當前頁面的行。 – 2012-01-10 22:17:04
@ subt13,我從網格中的數據創建一個數據表,將一行添加到我創建的數據表中,然後將現在有一行的數據表放入網格中,基本上,向網格添加一行 – 2012-01-11 13:11:38