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;
}
查看全文
相关阅读:
利用FormData对象实现AJAX文件上传功能及后端实现
$.ajax not function(已 解决:jQuery库冲突解决办法)
什么是docx,pptx等的正确MIME类型?
session_end
cookies.Expires (小技巧)
如何生成静态页面的五种方案(转)
Request.UserHostAddress和Request.Url.Host(小技巧)
单点登录的一些实现
框架页的session和cookies
在IHttpHandler使用session
原文地址:https://www.cnblogs.com/phiree/p/280460.html
最新文章
CSS
linux系统中如何确定是否存在某个命令
3D游戏引擎剖析
如何成为一名专家级的开发人员
FreeType编译及使用心得收藏
阶段总结20101202
一点总结,提醒自己
怎么炼成高手
条款24:当关乎效率时应该在map::operator[]和mapinsert之间仔细选择
ShellExecute
热门文章
面对查找需求如何选择容器
网游UI解决方案的选择(CEGUI/MYGUI/Hikari/Scaleform/...)
Linux常见面试题
jQuery的AJAX方法简介及与其他文件$符号冲突的解决办法
Mac OS 下三种修改Hosts文件的方法
PHPer 精进之路
Tp5 打开PDF文件乱码的问题
PHPer面试指南协议 篇
Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you ha
input只允许上传图片类型文件
Copyright © 2011-2022 走看看