对DataTable进行分组和排序

编程入门 行业动态 更新时间:2024-10-28 01:14:18
本文介绍了对DataTable进行分组和排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

大家好, 我在数据表中有一个DB对象列表。

Hi All, I am having a list of DB objects in a datatable.

ID ObjectType, ObjectName 1 StoredProcedure, usp_getList 2 Table, tbl_Users 3 Function, udf_getNames 4 View, v_Changes 5 Table, tbl_Admin 6 Function, udf_SplitString

我需要按每个对象类型对它们进行分组,然后根据对象名称对它进行排序。

I need to group them by each object type and then sort it according to the object name.

ID ObjectType, ObjectName 1 Function, udf_getNames 2 Function, udf_SplitString 3 StoredProcedure, usp_getList 4 Table, tbl_Admin 5 Table, tbl_Users 6 View, v_Changes

我尝试了以下代码,但似乎无法正常工作

I tried the following code, but it seems not working

DataView dv = new DataView(tbl); dv.Sort = "ObjectType ASC"; var groupbyfilter = from d in tbl.AsEnumerable() group d by d["ObjectType "]; foreach (var x in groupbyfilter) x.CopyToDataTable(tbl, LoadOption.OverwriteChanges);

请帮忙解决此问题。在此先感谢。

Please help resolve this. Thanks in advance.

推荐答案

试试这个: Try this: DataTable dt = new DataTable(); DataColumn ID = new DataColumn(); ID.ColumnName = "ID"; ID.DataType = System.Type.GetType("System.Int32"); ID.AutoIncrement = true; ID.AutoIncrementSeed = 1; ID.AutoIncrementStep = 1; dt.Columns.Add(ID); dt.Columns.Add("ObjectType", typeof(string)); dt.Columns.Add("ObjectName", typeof(string)); DataTable copy = tbl.Copy(); copy.Columns.Remove("ID"); copy.DefaultView.Sort = "ObjectType" + " " + "ASC"; copy = copy.DefaultView.ToTable(); foreach(DataRow drow in copy.AsEnumerable()) { dt.ImportRow(drow); }

现在你可以使用dt作为数据视图的来源。

Now you can use dt as source for your dataview.

更多推荐

对DataTable进行分组和排序

本文发布于:2023-11-25 16:27:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1630487.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:DataTable

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!