Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataView.Table不遵守DataView.Sort规则_C#_Sorting_Dataview - Fatal编程技术网

C# DataView.Table不遵守DataView.Sort规则

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

我有一个名为FubarView的数据视图,它是通过调用我们的数据库创建的。列包括Label、Value、RawName和PhoneNumber。在创建DataView之后,我向DataView添加了一个排序顺序,其中包含

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]