怎么对datatable里面的表进行排序
1、首先,打开Excel。
2、如下图是一张人员职务清单,从中可以看出该清单里有会计,厨师,库管等不同类的职务...
3、为了便于查找,我们应该将其按照类别排序。我们选中表格内容,不过千万不要将标题一起选中,如图,其中的职务一列即是类别排序中的“类别”,可以是“职务”,“性别”,“年龄”等不同的“类别”
4、选中之后依次点击"数据"-"排序",此时会在单元格上方弹出一个对话框,在该对话框的右侧次序点击下拉选项"自定义序列",如下图所示;
5、然后在新的对话框输入序列里面输入自己想要的排序方式,点击确认,如图;
6、点击确定以后,返回到上一个对话框,在主要关键字窗口选择“类别”,点击确定。
7、此时我们就看到之前的数据已经按照一定的次序排列了。
为了代码统一,假设所有的操作对象都是DataTable类型的,且引用dataTable有值。(在实际应用中也一样,尽量都转换成DataTable型)
DataTable dataTable
1、排序
1.1、利用查询排序
1.2、默认视图排序
2、搜索
如果单纯搜索,
或者
如果对搜索结果排序,如同1.1。
说明:select方法如同sql语句对单表的查询,条件如同sql语句的where之后的部分,>,<,=,LIKE等都可以使用。
3、合并
合并的对象必须结构要一致,如果不一致先转换一致。然后,利用Merge方法,
order[0][column]:表示根据第3列进行排序
order[0][dir]:desc 表示降序排列
后台controller层获取datatable传递进来的排序参数
为了代码统一,假设所有的操作对象都是DataTable类型的,且引用dataTable有值。(在实际应用中也一样,尽量都转换成DataTable型)
DataTable
dataTable
1、排序
1.1、利用查询排序
1.2、默认视图排序
2、搜索
如果单纯搜索,
或者
如果对搜索结果排序,如同1.1。
说明:select方法如同sql语句对单表的查询,条件如同sql语句的where之后的部分,>,<,=,LIKE等都可以使用。
3、合并
合并的对象必须结构要一致,如果不一致先转换一致。然后,利用Merge方法,
order[0][column]:表示根据第3列进行排序
order[0][dir]:desc
表示降序排列
后台controller层获取datatable传递进来的排序参数
dstaset.Tables.Add(dt)
dataset.Tables(0).DefaultView.Sort = "id desc"
--------------------------------------------------------------------------------
二、直接法
dv = New DataView(dt)
dv.Sort = "id desc"
--------------------------------------------------------------------------------
三、间接法
dv = New DataView(ds.Tables[0])
dv.Sort = "id desc"
DataRow[] rows = dataTable1.Select("", "ord asc");
DataTable t = DataTable1.Clone();
t.Clear();
foreach (DataRow row in rows)
t.ImportRow(row);
DataTable1 = t;
VS2005中这种方法最简单:
DataView dv = dt.DefaultView;
dv.Sort = "c1 Asc";
DataTable dt2 = dv.ToTable();
----
//拿到数据源
DataView dv = this.dtDataSource.Copy().DefaultView;
//排序
dv.Sort = "Columns1 asc,Columns2 asc,Columns3 asc";
//过滤重复数据
//DataTable dt = dv.ToTable(true, "Columns1", "Columns2", "Columns3");
//不过滤重复数据
DataTable dt = dv.Table.Copy();