基于特定列对数据表列进行排序?

时间:2013-07-04 06:11:26

标签: c#-4.0 sorting datatable

如果我的数据表像这样

    city       area            areanumber

    chennai    choolaimedu         565

    chennai    nungambakam         323

    trichy     K.K nagar           989

    trichy     D.nagar             801

    sivakasi   firenagar           253

使用以下代码

        dt.DefaultView.Sort = "areanumber";
        dt = dt.DefaultView.ToTable();
        dt.DefaultView.Sort = "area";
        dt = dt.DefaultView.ToTable();
        dt.DefaultView.Sort = "city";
        dt = dt.DefaultView.ToTable();
        dataGridView1.DataSource = dt;   

输出就像这样

        city       area            areanumber

       chennai    choolaimedu         565

       chennai    nungambakam         323

       sivakasi   firenagar           253

       trichy     D.nagar             989

       trichy     K.K nagar           801

在上面的表区域名称中也可以根据城市列进行排序,例如:

trichy D.nagar 989

trichy K.K nagar 801

但是areanumber确实得到了类似区域

我想要输出如下表

        city       area            areanumber

       chennai    choolaimedu         323

       chennai    nungambakam         565

       sivakasi   firenagar           253

       trichy     D.nagar             801

       trichy     K.K nagar           989

由于

1 个答案:

答案 0 :(得分:2)

尝试在一次通话中对DataTable进行排序:

dt.DefaultView.Sort = "city asc";
dt = dt.DefaultView.ToTable();
dataGridView1.DataSource = dt;