2014-02-20 61 views
-1

假設我有一個DataSet與一個表。這個表有兩列:id,name。一些隨機值:使用排序的數據集WPF C#

0 John 
    1 Michael 
    2 Alice 
    3 Bob 

我排序的數據集:

dataSet.Tables[0].DefaultView.Sort = "name"; 

另外,我有一個列表框,顯示這個排序的數據集:

lb.ItemsSource = dataSet.Tables[0].DefaultView; 

它表明像我想:

Alice 
Bob 
John 
Michael 

但我另外有一個列表框的MouseDoubleClick事件顯示帶有ID號的MessageBox。這裏是我的問題 - 我無法弄清楚爲什麼id號碼沒有排序 - 例如Alice應該有「2」,但是當我雙擊Alice時,MessageBox顯示「0」(Bob 1,John 2,邁克爾3)。那麼,如何對數據集進行永久排序呢? (我知道這個例子有點奇怪,但只想獲得一種方法)。

UPDATE

MouseDoubleClick代碼:

MessageBox.Show(dataSet.Tables[0].Rows[lb.SelectedIndex][0].ToString()); 
+1

您可以更新代碼''MouseDoubleClick的問題? – Damith

回答

1

你設置你的列表框中來源是這樣的:

lb.ItemsSource = dataset.Tables[0].DefaultView; 

...和你獲取這樣的ID:

MessageBox.Show(dataset.Tables[0].Rows[lb.SelectedIndex][0].ToString()); 

當您檢索ID時,您沒有訪問DefaultView。您正在直接訪問DataTable

試試這個:

MessageBox.Show(dataset.Tables[0].DefaultView[lb.SelectedIndex][0].ToString()); 
+0

非常感謝!完美的作品!我知道這與DefaultView有關,但我不知道該怎麼做。謝謝,你救了我的命:) –