zoukankan
html css js c++ java
合并DataGrid相同单元格
代码如下:
CombinColumns
#region
CombinColumns
private
void
CombinColumns(DataGrid dataGrid)
{
int
rowsCount
=
dataGrid.Items.Count;
for
(
int
i
=
rowsCount
-
1
; i
>
0
; i
--
)
{
int
colCount
=
dataGrid.Items[
0
].Cells.Count;
for
(
int
j
=
colCount
-
1
; j
>=
0
; j
--
)
{
int
span
=
dataGrid.Items[i].Cells[j].RowSpan;
if
(String.Equals(dataGrid.Items[i
-
1
].Cells[j].Text,dataGrid.Items[i].Cells[j].Text))
{
span
=
(span
==
0
?
1
: span);
span
+=
1
;
dataGrid.Items[i
-
1
].Cells[j].RowSpan
=
span;
dataGrid.Items[i].Cells[j].Visible
=
false
;
}
}
}
}
#endregion
次代码有以下缺点:1.单元格内容不能为模板列;
下面是转借别人的:
/**/
///
<summary>
///
used to merge cells
///
</summary>
///
<param name="dg">
datagrid will be merged
</param>
///
<param name="GroupColumn">
merged column
</param>
///
<param name="compareColumn">
basis column
</param>
private
void
spanRow(DataGrid dg,
int
GroupColumn,
int
compareColumn)
{
int
i
=
0
;
int
j
=
0
;
int
rowSpan;
string
strTemp
=
""
;
for
(i
=
0
;i
<
dg.Items.Count;i
++
)
{
rowSpan
=
1
;
strTemp
=
dg.Items[i].Cells[compareColumn].Text;
for
(j
=
i
+
1
;j
<
dg.Items.Count;j
++
)
{
if
(
string
.Compare(strTemp,dg.Items[j].Cells[compareColumn].Text)
==
0
)
{
rowSpan
+=
1
;
dg.Items[i].Cells[GroupColumn].RowSpan
=
rowSpan;
dg.Items[j].Cells[GroupColumn].Visible
=
false
;
}
else
{
break
;
}
}
i
=
j
-
1
;
}
}
查看全文
相关阅读:
Apache服务器的简单配置与安全策略
Linux下的ICMP反弹后门:PRISM
项目年度任务失败总结
SpringBoot下配置Druid
ftm国际化解决方案
SpringBoot自动装配源码解析
log4j到log4j2升级迁移方案
Linux常用命令记录
MySQL安装后无法用root用户访问的问题
html实体命名
原文地址:https://www.cnblogs.com/chy8219/p/917500.html
最新文章
React面试题
可视化拖拽组件库一些技术要点原理分析
webpack 性能优化
大前端面试题
大厂前端面试题
前端性能优化
中级前端面试题目
vite原理
bolg迁移
端口转发工具lcx使用两类
热门文章
python网络编程应用(一)
python网络编程基础
西邮Linux兴趣小组2014级免试挑战题 (续)
西邮Linux兴趣小组2014级免试挑战题
MySQL学习笔记(二)
MySQL学习笔记(一)
中间人攻击之ettercap嗅探
Wireshark数据包分析(一)——使用入门
图片捕获工具driftnet
NC入门笔记
Copyright © 2011-2022 走看看