2011-10-21 14 views
0

我有一個名爲FubarView的DataView,它是通過調用我們的數據庫創建的。這些列是標籤,值,原始姓名&電話號碼。創建數據視圖後,我添加了一個排序順序與數據視圖...DataView.Table不服從DataView.Sort規則

this.FubarView.Sort = "RawName, Value" 

然後我(在其他不相干的東西,如設置DisplayMember等),它綁定到我的WinForms組合框...

cmbDefault.DataSource = this.FubarView; 

這個工作完美,與ComboBox,按預期顯示排序信息。然而,當在稍後一點上,我想看看FubarView使用從我的ComboBox中的SelectedIndex ...

phoneNumber = this.FubarView.Table.Rows[cmbDefault.SelectedIndex]["PhoneNumber"] 

...這將返回錯誤值,則FubarView去和價值再次進行排序本身!你如何解決這個問題?

+0

您的程序是使用Wpf還是WinForms? – Fischermaen

回答

0

這是因爲您正在對錶格上的視圖進行排序,而不是實際的表格。所以如果你訪問Table低谷DataView.Table你會得到你的原始數據。

如果你想訪問排序的行,你應該通過DataView訪問它們。

+0

謝謝,我確實找到了答案(必須等待8小時),並且您發現... phoneNumber = this.FubarView [cmbDefault.SelectedIndex] .Row [「PhoneNumber」] – Heliac

0

我不會使用索引,我會使用ID來代替。

+0

不是,請參閱上面的評論 – Heliac