2011-08-03 18 views
0

我在這裏面臨一個愚蠢的問題。找不到錯誤,並且不知道如何解決此問題。如何將一行添加到數據表?

我將一個項目添加到所選索引已更改的數據表中。一切正常,除了最後一項顯示在dt中。我總是有最新的產品,其他所有產品都沒有了。我想這是因爲我在錯誤的地方初始化它,但仍然找不到解決方案。

Dim dt As DataTable = New DataTable() 
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Page.Load 
     dt.Columns.Add("dr1") 
     dt.Columns.Add("dr2") 
    End Sub 
Protected Sub ddlTest_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles ddlTest.SelectedIndexChanged 
      Dim row As DataRow = dt.NewRow() 
      row(0) = "Test!" 
      row(1) ="Test" 
      dt.Rows.Add(row) 
     End If 
    End Sub 

這總是隻顯示列表中的最後一項。我該如何做到這一點正確的方式?

回答

1

除非我誤會,否則每次用戶點擊頁面時都會創建一個新的DataTable。

您需要將行保存到真實的數據庫中,或者也許使您的DataTable共享(在C#中靜態)。

Shared dt As DataTable = New DataTable() 
+0

感謝您的回覆。我怎樣才能讓我的dt靜態? – user194076

+0

我更新了我的答案。共享dt作爲DataTable ... –

+0

它現在可以工作。我有過這樣的問題 - 這是做這種事情的常規做法嗎?還是我最好做點別的?在頁面加載時將列添加到數據表是否可以並共享?或者有更好的方法? – user194076

相關問題