对已经得到的DataTable进行分组
来源:互联网 发布:java求1到200内的素数 编辑:程序博客网 时间:2024/05/18 02:31
参考:http://social.msdn.microsoft.com/Forums/zh-CN/a5ae8993-c65a-4dbf-8417-42452c6ed76c/datasetdatatable-net
和http://social.msdn.microsoft.com/Forums/zh-CN/1b0aafdd-2e51-46d5-8e25-87d4866ff4b6/datatable
大部分都是抄的!!
有写时候,我们已经从数据层得到了一个datatable,现在我们需要对某几列进行分组,比如对下面学生按照年龄和性别分组:
姓名 年龄 性别 学校
小明 12 男 光明小学
小红 12 女 光明小学
小米 12 男 黑暗小学
================================================小明 12 男 光明小学
小米 12 男 黑暗小学
小红 12 女 光明小学
class Program { static void Main(string[] args) { string connection = "*********** "; SqlConnection cn = new SqlConnection(connection); cn.Open(); string selectCmd = "***************"; DataSet ds = new DataSet(); SqlDataAdapter adapter = new SqlDataAdapter(selectCmd, cn); adapter.Fill(ds, "*****"); DataTable mytb = ds.Tables["***"]; List<DataTable> groupsTb = DataTableGroups(new string[] { "你想要的列名", "*****" }, mytb); Console.Read(); }//end main public static void GroupDataRows(IEnumerable<DataRow> source, List<DataTable> destination, string[] groupByFields, int fieldIndex, DataTable schema) { if (fieldIndex >= groupByFields.Length || fieldIndex < 0) { DataTable dt = schema.Clone(); foreach (DataRow row in source) { DataRow dr = dt.NewRow(); dr.ItemArray = row.ItemArray; dt.Rows.Add(dr); } destination.Add(dt); return; } var results = source.GroupBy(o => o[groupByFields[fieldIndex]]); foreach (var rows in results) { GroupDataRows(rows, destination, groupByFields, fieldIndex + 1, schema); } fieldIndex++; } public static List<DataTable> DataTableGroups(string[] fields, DataTable source) { List<DataTable> dts = new List<DataTable>(); GroupDataRows(source.Rows.Cast<DataRow>(),dts,fields,0, source); return dts; } }//end class
- 对已经得到的DataTable进行分组
- 对datatable进行分组操作
- 用linq对datatable进行分组查询并返回datatable
- 如何对DataTable进行动态分组和动态统计[C#]
- 对DataTable时的记录进行排序
- 对datatable进行简单的操作
- 对已经生成的DATATABLE添加列排序
- 对DataTable进行分页
- 对DataTable进行分页
- 对DataTable进行分页
- 对datatable进行排序
- 对DataTable进行Distinct
- 对DataTable进行分页
- 对训练得到的模型进行测试
- datatable使用groupby进行分组统计
- datatable使用groupby进行分组统计
- C# datatable使用groupby进行分组统计
- 用linq对datatable分组查询并返回datatable
- Windows 8 Tools - windows 8 小工具有大功能,帮你轻松搞定新系统
- 状态模式
- 了解GCC C++ C
- Yuyuko and Youmu
- 杭电oj题目分类
- 对已经得到的DataTable进行分组
- 自动化信任机制脚本
- ScrollView滚动到底部和顶部的检测
- hadoop日志【5】----存储迁移之后
- openstack创建虚拟机
- hdu 2503 1713 1108 最小公倍数&最大公约数
- 【转】HTML中的form表单的两种enctype属性
- javaScript逻辑与操作符运算规则
- python中计时工具timeit模块的基本用法