C# DataView.Table不遵守DataView.Sort规则
我有一个名为FubarView的数据视图,它是通过调用我们的数据库创建的。列包括Label、Value、RawName和PhoneNumber。在创建DataView之后,我向DataView添加了一个排序顺序,其中包含C# DataView.Table不遵守DataView.Sort规则,c#,sorting,dataview,C#,Sorting,Dataview,我有一个名为FubarView的数据视图,它是通过调用我们的数据库创建的。列包括Label、Value、RawName和PhoneNumber。在创建DataView之后,我向DataView添加了一个排序顺序,其中包含 this.FubarView.Sort = "RawName, Value" 然后,我将它绑定到我的WinForms组合框中,其中包括设置DisplayMember等其他不相关的内容 cmbDefault.DataSource = this.FubarView; phone
this.FubarView.Sort = "RawName, Value"
然后,我将它绑定到我的WinForms组合框中,其中包括设置DisplayMember等其他不相关的内容
cmbDefault.DataSource = this.FubarView;
phoneNumber = this.FubarView.Table.Rows[cmbDefault.SelectedIndex]["PhoneNumber"]
这在组合框中工作得非常好,可以按预期显示排序的信息。然而,后来我尝试使用组合框中的SelectedIndex查看FubarView时
cmbDefault.DataSource = this.FubarView;
phoneNumber = this.FubarView.Table.Rows[cmbDefault.SelectedIndex]["PhoneNumber"]
…它将返回错误的值,就像FubarView再次按值对自身进行排序一样!如何解决此问题?我不会使用索引,而是使用ID 这是因为您正在对表上的视图进行排序,而不是对实际表进行排序。因此,如果您通过DataView.Table访问表,您将获得原始数据
如果您想访问已排序的行,您应该通过DataView访问它们。您的程序使用Wpf还是WinForms?谢谢,我确实发现答案需要等待8个小时,而您正好。。。phoneNumber=this.FubarView[cmbDefault.SelectedIndex]。行[phoneNumber]