文档章节

DataTable纵向记录转换成横向列显示,动态新增列及填充数据

深圳大道
 深圳大道
发布于 2016/12/29 15:33
字数 273
阅读 22
收藏 0
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


 

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/8229717

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
jQuery Datatable 实用简单实例

目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求。同时,jQuery Datatable强大的功能支持:排序,分页,搜索等。 Query Datatable能良好支持数据完...

sgyyz
2014/05/08
0
0
hacken/EasyReport

EasyReport A simple and easy to use Web Report System for java EasyReport是一个简单易用的Web报表工具,它的主要功能是把SQL语句查询出的行列结构转换成HTML表格(Table),并支持表格的跨...

hacken
2017/08/14
0
0
[原创]web报表开发技术专题一:序号问题

近期因为专注于用 c# 实现 web 报表,积累了一些经验和心得,也写过一篇介绍文章 , 也有网友提出没有说清楚。现觉得想用单篇文章来说明 web 报表开发难免会大而空,落不到实处。因而便想到每...

长平狐
2012/10/11
76
0
jQuery Datatables常用配置

官网:Datatables官网中文网:Datatables中文网 我用过的一些配置:

Anymore
2016/12/07
300
0
深入详解DataTable

前言:ADO.NET概述 在学习DataTable知识之前,我们有必要了解下ADO.NET。以下摘自MSDN: ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访...

技术小胖子
2017/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

URL/URI/URN的认识

这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Java Bean中定义一些字段,用来表示资源的位置,比如:imgUrl,logoUri等等。但是,每次定义的时候,心里都很纠结,是该用imgUrl还...

WinkJie
25分钟前
2
0
vs2017 踩坑

好久没有使用vs2017,改了下代码,启动调试进行测试,一没有注意,就启动了。 然后 ,悲剧了,,,就有下面的问题。 VS断点提示:当前不会命中断点。还没有为该文档加载任何符号 然后百度了下,...

轻轻的走过
25分钟前
3
0
解决一个emqttd trace 无法打开的问题

emqttd这个东西做的真心不咋地,之前有emq_auth_mysql的plugin死活无法启动的问题,现在又碰到trace无法打开的问题。 查看emqttd服务器当前连接的所有client: emqttd_ctl clients list 要打...

莫在全
33分钟前
3
0
java wsdl 中不显示参数属性类型的问题解决方案

CXF3.0.1解决方案: 配合spring方式 <jaxws:endpoint id="receiveUMSMessageService" implementor="com.sw.extInterface.webservice.service.impl.ReceiveUMSMessageServiceImpl" address="......

嘿嘿嘿IT
36分钟前
2
0
go alpine docker image 搭建

Dockerfile 搭建 目录结构 --Dockerfile--main.go 写一个go的helloworld package mainimport ("fmt""log""net/http")func main() {http.HandleFunc("/", hello)err := ht......

solate
42分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部