zoukankan
html css js c++ java
竖表转横表(支持多列)
在LoveCherry的blog中(
http://www.cnblogs.com/lovecherry/archive/2005/04/28/146749.html
)有一个竖表转横表的方法,但是只能支持只有一列的DataTable, 我改进了一下 可以支持多列.
public
DataTable MakeData(DataTable dt,
int
iSize,
int
[] iColumnID)
//
isize:每列行数 iColumnID 需要横向排列的列的序号数组
{
int
ColumnCount
=
iColumnID.Length;
int
itmp
=
dt.Rows.Count
%
iSize;
int
iColumn;
//
列数
if
(itmp
==
0
)
iColumn
=
dt.Rows.Count
/
iSize;
else
iColumn
=
dt.Rows.Count
/
iSize
+
1
;
DataTable newdt
=
new
DataTable();
for
(
int
i
=
0
;i
<
iColumn;i
++
)
{
for
(
int
j
=
0
;j
<
ColumnCount;j
++
)
{
string
aa
=
dt.Columns[iColumnID[j]].ColumnName
+
i;
DataColumn dc
=
new
DataColumn(dt.Columns[iColumnID[j]].ColumnName
+
i,dt.Columns[iColumnID[j]].DataType);
newdt.Columns.Add(dc);
}
}
for
(
int
i
=
0
;i
<
iSize;i
++
)
{
DataRow dr
=
newdt.NewRow();
for
(
int
j
=
0
;j
<
iColumn;j
++
)
{
for
(
int
k
=
0
;k
<
ColumnCount;k
++
)
{
if
((i
+
j
*
iSize)
<
dt.Rows.Count)
{
string
aa
=
dt.Columns[iColumnID[k]].ColumnName
+
j;
dr[dt.Columns[iColumnID[k]].ColumnName
+
j]
=
dt.Rows[i
+
j
*
iSize][iColumnID[k]];
}
}
}
newdt.Rows.Add(dr);
}
return
newdt;
}
查看全文
相关阅读:
web.py利用模板的详细步骤
Arduino入门笔记(9):蓝牙模块及第一辆蓝牙遥控小车
Python常用模块之sys
使用Supervisor管理Linux进程
Python socket聊天室程序
Ubuntu 文件文件夹查看权限和设置权限
python遍历目录
linux tail命令的使用方法详解
Python使用openpyxl读写excel文件
python中enumerate()的用法
原文地址:https://www.cnblogs.com/phiree/p/280460.html
最新文章
191007
191008
证明xcosx无周期
狄利克雷函数为什么不具有最小正周期
pathlib模块
什么是图
小白专场-FileTransfer-python语言实现
[转载]最完整PHP.INI中文版
var_dump()函数输出不完整,有省略号?解决办法
php.ini中的pcre
热门文章
微信公众平台自定义菜单及高级接口PHP SDK(转)
微信开发好的地址
jquery tmpl 详解(转)
MySQL修改root密码的各种方法整理(转)
mysql的grant用法(转)
微信公众平台开发(一) 配置接口(转)
微信公众帐号开发教程第3篇-开发模式启用及接口配置 (转)
树莓派学习笔记(3):利用VNC远程控制树莓派
树莓派学习笔记(2):常用linux命令
树莓派学习笔记(1):入手树莓派
Copyright © 2011-2022 走看看