zoukankan
html css js c++ java
竖表变横表(支持固定列)
根据LoveCherry的竖变横方法改进而来(
http://www.cnblogs.com/lovecherry/archive/2005/04/23/143819.html
)
public
DataTable MakeData(DataTable dt,
int
iColumnSize,
int
[] iColumnID)
//
iColumnsize:重复列数 iColumnID 需要横向排列的列的序号数组
{
int
ColumnCount
=
iColumnID.Length;
int
totalRows
=
dt.Rows.Count;
int
itmp
=
dt.Rows.Count
%
iColumnSize;
//
行数
int
iRows;
//
行数
if
(itmp
==
0
)
iRows
=
dt.Rows.Count
/
iColumnSize;
else
iRows
=
dt.Rows.Count
/
iColumnSize
+
1
;
DataTable newdt
=
new
DataTable();
for
(
int
i
=
0
;i
<
iColumnSize;i
++
)
{
for
(
int
j
=
0
;j
<
ColumnCount;j
++
)
{
string
aa
=
dt.Columns[iColumnID[j]].ColumnName
+
i;
int
bb
=
iColumnID[j];
DataColumn dc
=
new
DataColumn(dt.Columns[iColumnID[j]].ColumnName
+
i,dt.Columns[iColumnID[j]].DataType);
newdt.Columns.Add(dc);
}
}
for
(
int
i
=
0
;i
<
iRows;i
++
)
{
DataRow dr
=
newdt.NewRow();
for
(
int
j
=
0
;j
<
iColumnSize;j
++
)
{
for
(
int
k
=
0
;k
<
ColumnCount;k
++
)
{
if
((i
+
j
*
iColumnSize)
<
dt.Rows.Count)
{
string
aa
=
dt.Columns[iColumnID[k]].ColumnName
+
j;
try
{
dr[dt.Columns[iColumnID[k]].ColumnName
+
j]
=
dt.Rows[iRows
*
j
+
i][iColumnID[k]];
}
catch
{}
}
}
}
newdt.Rows.Add(dr);
}
return
newdt;
}
查看全文
相关阅读:
Duilib 源码分析(二)消息处理
Duilib 源码分析(一)示例推演
2021 Duilib最新入门教程(七)Duilib处理消息
2021 Duilib最新入门教程(六)Duilib界面设计
2021 Duilib最新入门教程(五)Duilib调用静态库示例
2021 Duilib最新入门教程(四)Duilib编译静态库
源文件(cpp)、静态库(lib)、动态库(dll)
2021 Duilib最新入门教程(三)Duilib调用动态库示例
supernova-SN_TV MUF简介
jieba+pyecharts 词云图应用
原文地址:https://www.cnblogs.com/phiree/p/280518.html
最新文章
709. 转换成小写字母
1464. 数组中两元素的最大乘积
1299. 将每个元素替换为右侧最大元素
PCI-E与SATA SSD
硬盘接口
Linux中典型的文件权限问题
Linux中的find
Linux中的which whereis locate
在Linux下想要删除一个目录需要怎样的权限
Linux中文件的隐藏属性
热门文章
Linux中的umask
Linux中的touch命令
Linux中的cp命令
vue el-table 动态列 显示html标签内容
js 数组去重
el-autocomplete校验时,第一次点击选择的时候还是会提示报错信息,再次点击选项才正常的解决方案
k8s 1.18部署
iptables应用---公网NAT及反向代理
ceph-L版本filestore安装
Duilib 源码分析(三)界面解析
Copyright © 2011-2022 走看看