我遇到了一些麻烦,想知道如何对DataTableCollection进行排序。该场景是,集合中的每个表都具有相同的模式,并且有一个名为“JobNumber”的列,我想对其进行排序。这些表格中的数据需要按照该顺序进行处理。C#按每个表中的公共列对DataTableCollection进行排序
有什么建议吗?
我遇到了一些麻烦,想知道如何对DataTableCollection进行排序。该场景是,集合中的每个表都具有相同的模式,并且有一个名为“JobNumber”的列,我想对其进行排序。这些表格中的数据需要按照该顺序进行处理。C#按每个表中的公共列对DataTableCollection进行排序
有什么建议吗?
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
那么它很容易重复throught集合中的表,但为排列每一个,你可能希望看到:http://msdn.microsoft.com/en-us/library/zk13kdh0(v=vs.71).aspx
我会用排序列表与所有数据表行填充它,这就是如果你的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);
}
}
}
首先,将项目逐个添加到SortedList并不是一种有效的排序方法。 – Fantius 2011-06-02 16:24:34
你需要从所有表中的数据放在一起,或每个排序桌子分开? – 2011-06-02 18:01:16