Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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# UI列将DataGrid数据重新排序到DataTable中_C#_Wpf_Datagrid_Datatable - Fatal编程技术网

C# UI列将DataGrid数据重新排序到DataTable中

C# UI列将DataGrid数据重新排序到DataTable中,c#,wpf,datagrid,datatable,C#,Wpf,Datagrid,Datatable,我有一个WPFDatagGrid,用户可以在其中对项目进行排序并对列进行重新排序 现在,我想将确切的DataGrid数据复制到DataTable中,在对项目进行重新排序和对列进行排序后,数据显示在DataGrid中 将Datagrid.ItemSource复制到DataTable在这里没有帮助 我正在将DataGrid绑定到一个DataTable,它通常有100列和50多行,现在我只想将重新排序的数据(由用户在UI上通过拖动列完成)保存到一个新的单独的DataTable中,一种可能的方法是跟踪用

我有一个
WPF
DatagGrid
,用户可以在其中对项目进行排序并对列进行重新排序

现在,我想将确切的
DataGrid
数据复制到
DataTable
中,在对项目进行重新排序和对列进行排序后,数据显示在
DataGrid

Datagrid.ItemSource
复制到
DataTable
在这里没有帮助


我正在将
DataGrid
绑定到一个
DataTable
,它通常有100列和50多行,现在我只想将重新排序的数据(由用户在
UI
上通过拖动列完成)保存到一个新的单独的
DataTable

中,一种可能的方法是跟踪用户操作(列拖动、排序)并对数据源构建新的SQL查询

这个想法很好,但这不是最佳解决方案。当我只想节省时间时,我应该能够将它保存到
DataTable
中。第一个起点是获取已排序的列及其顺序和列显示索引。第一个起点是获取已排序的列及其顺序和列显示索引。第一个可以从DataGrid.Items.SortDescriptions集合获得,第二个可以从DataGrid.Columns集合获得,其中此集合中包含的每个DataGrid列都有一个DisplayIndex属性,告诉您此列在哪个列位置显示。列的顺序和排序可能反映在DataTable.DefaultView中。如果是的话,你可以试试这个