我的表单上有一个xtragrid
(让我们说myXtraGrid
)
我绑定datatable
:
myXtraGrid.DataSource = dtMyDataTable;
myXtraGrid.BestFitColumns();
假设我在名为column
的{{1}}中只有一个datatable
,它有三个"My Column"
数据,如下所示:
rows
在My Column
------
3
1
2
上,我点击grid (on runtime)
并对数据进行排序
column header (My Column)
我的问题是;如何将排序后的数据作为(3 1 2) ascending: (1 2 3)
获取,如下所示?
Datatable
在My Column
------
1
2
3
我必须获取已排序的数据并进行处理。
谢谢朋友们。
答案 0 :(得分:0)
你可以制作一个DataView
。
myDataView dvMyView = new DataView(myDataTable);
此DataView
可以按以下方式排序:
dvMyView.Sort = " MyColumn ASC ";
所以你有一个排序DataView
,你可以轻松地转换为DataTable
:
myDataTable = dvMyView.toTable();
现在你有一个排序DataSource
: - )
P.S在我看来,BestPractice是创建一个objectlist (List<myClass>)
。可以对此Objectlist
进行排序。另一个优点是Grid中更改的值会直接更改List中的对象!
我希望这很有帮助。
答案 1 :(得分:0)
您可以使用DefaultView
的{{1}}并对视图进行排序,之后可以转换为表格
Datatable