DataView.表不服从DataView.排序规则

本文关键字:DataView 规则 排序 不服从 | 更新日期: 2023-09-27 18:11:51

我有一个名为FubarView的数据视图,它是通过调用我们的数据库创建的。列是Label, Value, RawName &PhoneNumber。创建DataView之后,我用…

向DataView添加排序顺序
this.FubarView.Sort = "RawName, Value"

我然后(在其他无关的东西,如设置DisplayMember等)将其绑定到我的WinForms ComboBox…

cmbDefault.DataSource = this.FubarView;

这很好地工作了,与ComboBox一起,按预期显示排序的信息。然而,当在稍后的点我试图看FubarView使用从我的组合框的selecteindex…

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

…它会返回错误的值,就好像FubarView又去按值排序一样!如何解决这个问题?

DataView.表不服从DataView.排序规则

这是因为您在表上排序视图,而不是在实际的表上排序。如果你通过DataView访问Table。

如果您想访问已排序的行,您应该通过DataView访问它们。

我不会使用索引,而是使用id。