我遇到了一些麻煩,想知道如何對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