Gridview中某字段的内容相同时如何只显示一个,屏蔽相同列或行的内容
C# code
#region
合并单元格 合并某一行的所有列
///
<summary>
///
合并GridView中某行相同信息的行(单元格)
///
</summary>
///
<param name="GridView1">
GridView对象
</param>
///
<param name="cellNum">
需要合并的行
</param>
public
static
void
GroupRow(GridView GridView1,
int
rows) { TableCell oldTc
=
GridView1.Rows[rows].Cells[
0
];
for
(
int
i
=
1
; i
<
GridView1.Rows[rows].Cells.Count; i
++
) { TableCell tc
=
GridView1.Rows[rows].Cells[i];
//
Cells[0]就是你要合并的列
if
(oldTc.Text
==
tc.Text) { tc.Visible
=
false
;
if
(oldTc.ColumnSpan
==
0
) { oldTc.ColumnSpan
=
1
; } oldTc.ColumnSpan
++
; oldTc.VerticalAlign
=
VerticalAlign.Middle; }
else
{ oldTc
=
tc; } } }
#endregion
#region
合并单元格 合并一行中的几列
///
<summary>
///
合并单元格 合并一行中的几列
///
</summary>
///
<param name="GridView1">
GridView ID
</param>
///
<param name="rows">
行
</param>
///
<param name="sCol">
开始列
</param>
///
<param name="eCol">
结束列
</param>
public
static
void
GroupRow(GridView GridView1,
int
rows,
int
sCol,
int
eCol) { TableCell oldTc
=
GridView1.Rows[rows].Cells[sCol];
for
(
int
i
=
1
; i
<
eCol
-
sCol; i
++
) { TableCell tc
=
GridView1.Rows[rows].Cells[i
+
sCol];
//
Cells[0]就是你要合并的列
tc.Visible
=
false
;
if
(oldTc.ColumnSpan
==
0
) { oldTc.ColumnSpan
=
1
; } oldTc.ColumnSpan
++
; oldTc.VerticalAlign
=
VerticalAlign.Middle; } }
#endregion
#region
合并单元格 合并某一列所有行
///
<summary>
///
合并GridView中某列相同信息的行(单元格)
///
</summary>
///
<param name="GridView1"></param>
///
<param name="cellNum"></param>
public
static
void
GroupCol(GridView GridView1,
int
cols) {
if
(GridView1.Rows.Count
<
1
||
cols
>
GridView1.Rows[
0
].Cells.Count
-
1
) {
return
; } TableCell oldTc
=
GridView1.Rows[
0
].Cells[cols];
for
(
int
i
=
1
; i
<
GridView1.Rows.Count; i
++
) { TableCell tc
=
GridView1.Rows[i].Cells[cols];
if
(oldTc.Text
==
tc.Text) { tc.Visible
=
false
;
if
(oldTc.RowSpan
==
0
) { oldTc.RowSpan
=
1
; } oldTc.RowSpan
++
; oldTc.VerticalAlign
=
VerticalAlign.Middle; }
else
{ oldTc
=
tc; } } }
#endregion
#region
合并单元格 合并某一列中的某些行
///
<summary>
///
合并单元格 合并某一列中的某些行
///
</summary>
///
<param name="GridView1">
GridView ID
</param>
///
<param name="cellNum">
列
</param>
///
<param name="sRow">
开始行
</param>
///
<param name="eRow">
结束列
</param>
public
static
void
GroupCol(GridView GridView1,
int
cols,
int
sRow,
int
eRow) {
if
(GridView1.Rows.Count
<
1
||
cols
>
GridView1.Columns.Count
-
1
) {
return
; } TableCell oldTc
=
GridView1.Rows[sRow].Cells[cols];
for
(
int
i
=
1
; i
<
eRow
-
sRow; i
++
) { TableCell tc
=
GridView1.Rows[sRow
+
i].Cells[cols]; tc.Visible
=
false
;
if
(oldTc.RowSpan
==
0
) { oldTc.RowSpan
=
1
; } oldTc.RowSpan
++
; oldTc.VerticalAlign
=
VerticalAlign.Middle; } }
#endregion