C#按每个表中的公共列对DataTableCollection进行排序
本文关键字:DataTableCollection 排序 | 更新日期: 2023-09-27 17:58:06
我在弄清楚如何对DataTableCollection排序时遇到了一些问题。场景是,集合中的每个表都有相同的架构,并有一个名为"JobNumber"的列,我想对其进行排序。这些表中的数据需要按照该顺序进行处理。
有什么建议吗?
DataTableCollection col;
foreach(DataTable tbl in col)
{
// Get the DefaultViewManager of a DataTable and sort it.
DataTable1.DefaultView.Sort = "JobNumber";
}
http://msdn.microsoft.com/en-us/library/system.data.dataview.sort.aspx
遍历集合中的表很容易,但对于每个表的排序,您可能希望看到:http://msdn.microsoft.com/en-us/library/zk13kdh0(v=vs.71).aspx
我会使用SortedList用所有DataTables中的行填充它,如果你的JobNumer是唯一的,比如:
public SortedList<int, DataRow> SortDataTableCollection(DataTableCollection col)
{
SortedList<int, DataRow> result = new SortedList<int, DataRow>();
foreach(DataTable tbl in col)
{
foreach(DataRow rw in tbl.Rows)
{
result.Add((int)rw["JobNumber"], rw);
}
}
}