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;
}
查看全文
相关阅读:
js中常见的异步操作有哪些?
z-index
transition和animation的区别?
JS 中遇到有特殊字符或者空格时会被转译该怎么办?
url参数中有+、空格、=、%、&、#等特殊符号无法显示怎么办?
JS如何删除对象中的某一属性?
splice和slice、map和forEach、 filter()、reduce()的区别
css呼吸灯效果
mescroll—移动端精致的下拉刷新和上拉加载js框架(支持Vue)
血淋淋的教训—将Vue项目打包成app的跨域问题
原文地址:https://www.cnblogs.com/phiree/p/280460.html
最新文章
properties文件不能保存中文问题(转)
ant编译时遇到的问题记录
maven test需要配置maven-surefire-plugin和maven-surefire-report-plugin插件
maven工程运行maven test提示JAVA_HOME 未配置的解决
jenkins工程配置(MAVEN+SVN+TESTNG)
基于XAMPP的Testlink安装方法
windows本地安装SVN服务器
webdriver 键盘模拟事件
创建maven工程 用做selenium webDriver + TestNg的UI自动化
最小树型图 [朱刘算法](定根/不定根/森林)
热门文章
[kuangbin带你飞]之'生成树'专题
hdu 4614 [简单线段树+二分查找]
[kuangbin带你飞]之'最小生成树 '专题
hdu 1542 线扫描+线段树(离散化) 求覆盖面积/周长
通过dfs序建立线段树
[kuangbin]带你飞之'线段树'专题
线段树简单操作模板复习(忘了。)
poj 3074 DLX模板
百度地图标点(不受50标点限制)及标点聚合
百度地图生成器添加标注后图标不显示的解决方法
Copyright © 2011-2022 走看看