DataTable纵向记录转换成横向列显示,动态新增列及填充数据
来源:互联网 发布:入骨相思知不知txt微盘 编辑:程序博客网 时间:2024/04/30 14:38
DataTable dt = Maticsoft.DBUtility.DbHelperOra.Query(QuerySql).Tables[0];#region 创建新的DataTable DataTable dtShow = new DataTable(); dtShow.Columns.Add("序号", Type.GetType("System.String")); dtShow.Columns.Add("部门", Type.GetType("System.String")); dtShow.Columns.Add("编号", Type.GetType("System.String")); dtShow.Columns.Add("姓名", Type.GetType("System.String")); dtShow.Columns.Add("职务", Type.GetType("System.String")); dtShow.Columns.Add("期间", Type.GetType("System.String")); dtShow.Columns.Add("开始日期", Type.GetType("System.String")); dtShow.Columns.Add("结束日期", Type.GetType("System.String")); //加载帐套的薪资项 转换成列 DataTable dtCover = GetCoverItemDT(); if (dtCover.Rows.Count > 0) { for (int i = 0; i < dtCover.Rows.Count; i++) { dtShow.Columns.Add(dtCover.Rows[i]["ITEMNAME"].ToString(), Type.GetType("System.String")); } } #endregion #region 插入员工薪资项数据到dtShow int p = 1; //行号 for (int n = 0; n < dt.Rows.Count; n++) { string EMPLOYEEID = dt.Rows[n]["EMPLOYEEID"].ToString(); //判断是否最末一行 string CompareEMPLOYEEID = (n == dt.Rows.Count - 1) ? "000000" : dt.Rows[n + 1]["EMPLOYEEID"].ToString(); if (CompareEMPLOYEEID != EMPLOYEEID) //比较当前行与下行ID 不同ID 则添加本行数据 { DataRow dr = dtShow.NewRow(); dr["序号"] = p; dr["部门"] = dt.Rows[n]["EMPLOYDEP"]; dr["编号"] = dt.Rows[n]["EMPLOYEEID"]; dr["姓名"] = dt.Rows[n]["EMPLOYEENAME"]; dr["职务"] = dt.Rows[n]["POST"]; dr["期间"] = dt.Rows[n]["CYCLENAME"]; dr["开始日期"] = dt.Rows[n]["CYCLESTARTDATE"]; dr["结束日期"] = dt.Rows[n]["CYCLEENDDATE"]; for (int j = 0; j < dtShow.Columns.Count; j++) { DataRow[] dr1 = dt.Select("EMPLOYEEID='" + EMPLOYEEID + "' AND ITEMNAME='" + dtShow.Columns[j].ColumnName + "'"); if (dr1.Length > 0) { dr[dtShow.Columns[j].ColumnName] = dr1[0]["AMOUNT"].ToString(); } } dtShow.Rows.Add(dr); p++; } } #endregion
- DataTable纵向记录转换成横向列显示,动态新增列及填充数据
- 数据库纵向记录横向显示
- SQL如何将表中的数据从纵向显示转换成横向显示
- 在C#中进行数据纵向不定行转横向列,多条信息成一行,例如员工薪资信息
- 根据数据动态显示列及数据的SQL语句
- EXCEL-横向数据转换成纵向数据-python脚本实现
- Oracle之纵向数据转换横向数据
- 设置GridView列名中文显示 及DataTable根据主键获取行记录
- C#动态操作DataTable(新增行、列、查询行、列等)
- C#动态操作DataTable(新增行、列、查询行、列等)
- C#动态操作DataTable(新增行、列、查询行、列等)
- C#动态操作DataTable(新增行、列、查询行、列等)
- C#动态操作DataTable(新增行、列、查询行、列等)
- C# 动态操作DataTable(新增行、列、查询行、列等)
- C#动态操作DataTable(新增行、列、查询行、列等)
- DataTable行列转置,实现横向显示数据记录
- DataTable行列转置,实现横向显示数据记录
- DataTable行列转置,实现横向显示数据记录
- C++类的内存地址存放问题
- 经典的机器学习方面源代码库
- C#多线程参数传递
- php中的常量
- 运算符号
- DataTable纵向记录转换成横向列显示,动态新增列及填充数据
- Android读写文件
- 在Linux上配置和实现SOCKS v5
- 常用牛人主页链接(计算机视觉、模式识别、机器学习相关方向,陆续更新。。。。)
- 深入分析C++引用
- 从谷歌宕机事件认识互联网工作原理
- 独立游戏开发者易犯的9大致命错误
- 使用标准文件流操作文件
- 为什么C语言的同一个文件中可以定义两个接口完全相同的函数?