DataSet自定义排序(蛇形)

时间:2013-07-14 07:11:35

标签: c# vb.net

我在DataSet调用 ds 中的DataTable调用 tbl 中有两列,我想要将第一列ASC的数据和第二列的数据排序为a Serpentine ,例如,如果两列是column1和column2,那么数据应如下所示:

ID column1 column2
1 1 1
2 1 2
3 1 3
4 1 4
5 1 5

6 2 5
7 2 4
8 2 3
9 2 2
10 2 1

11 3 1
12 3 2
13 3 3
14 3 4
15 3 5

16 4 5
17 4 4
18 4 3
19 4 2
20 4 1

21 5 1
22 5 2
23 5 3
24 5 4
25 5 5

1 个答案:

答案 0 :(得分:1)

我遇到同样的问题,我发现this代码:

public static class DataTableExtensions
{
    public static DataView ApplySort(this DataTable table, Comparison<DataRow> comparison)
    {

        DataTable clone = table.Clone();
        List<DataRow> rows = new List<DataRow>();
        foreach (DataRow row in table.Rows)
        {
            rows.Add(row);    
        }

        rows.Sort(comparison);

        foreach (DataRow row in rows)
        {
            clone.Rows.Add(row.ItemArray);
        }

        return clone.DefaultView;
    }


}