合并显示 通过sql 语句查询数据库得出的DataTable数据 显示在GridView 中 加入相邻的两行的同一列内容相同 那怎么将这两个内容相同的所在的单元格合并并且只显示一次内容呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// 合并GridView列中相同的行 public static void MerRows(GridView GridView1, int cellNum) { int i = 0, rowSpanNum = 1; while (i < GridView1.Rows.Count - 1) { GridViewRow gvr = GridView1.Rows[i]; for (++i; i < GridView1.Rows.Count; i++) { GridViewRow gvrNext = GridView1.Rows[i]; if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text) { gvrNext.Cells[cellNum].Visible = false; rowSpanNum++; } else { gvr.Cells[cellNum].RowSpan = rowSpanNum; rowSpanNum = 1; break; } if (i == GridView1.Rows.Count - 1) { gvr.Cells[cellNum].RowSpan = rowSpanNum; } } } } /// 根据条件列合并GridView列中相同的行 public static void MerRows(GridView GridView1, int cellNum, int cellNum2) { int i = 0, rowSpanNum = 1; while (i < GridView1.Rows.Count - 1) { GridViewRow gvr = GridView1.Rows[i]; for (++i; i < GridView1.Rows.Count; i++) { GridViewRow gvrNext = GridView1.Rows[i]; if (gvr.Cells[cellNum].Text + gvr.Cells[cellNum2].Text == gvrNext.Cells[cellNum].Text + gvrNext.Cells[cellNum2].Text) { gvrNext.Cells[cellNum].Visible = false; rowSpanNum++; } else { gvr.Cells[cellNum].RowSpan = rowSpanNum; rowSpanNum = 1; break; } if (i == GridView1.Rows.Count - 1) { gvr.Cells[cellNum].RowSpan = rowSpanNum; } } } } 假入我在sql语句中进行调整可以么? sql语句中好像有个控制 “唯一性”的 是什么记不清了 gridvew里面的checkbox批量选择时不起作用? 获取路径问题 高手请介绍.net三层结构的感念 关于某人询问的.net内部对象的回答 disuzPHP论坛如何转换成Discuz!NT 2.5版本 求助!一个判定程序,该如何实现!给高分 DataGrid问题送了50分未解决再送50分(其实不难,只是我初学)! 关于获取URL一问。。。 问个水晶报表的简单问题? 关于asp.net如何捕获键盘事件 才开始学习三层架构时,数据库连接这地方出错了!。。。。 NetShop4.0在IIS中的问题
public static void MerRows(GridView GridView1, int cellNum)
{
int i = 0, rowSpanNum = 1;
while (i < GridView1.Rows.Count - 1)
{
GridViewRow gvr = GridView1.Rows[i];
for (++i; i < GridView1.Rows.Count; i++)
{
GridViewRow gvrNext = GridView1.Rows[i];
if (gvr.Cells[cellNum].Text == gvrNext.Cells[cellNum].Text)
{
gvrNext.Cells[cellNum].Visible = false;
rowSpanNum++;
}
else
{
gvr.Cells[cellNum].RowSpan = rowSpanNum;
rowSpanNum = 1;
break;
}
if (i == GridView1.Rows.Count - 1)
{
gvr.Cells[cellNum].RowSpan = rowSpanNum;
}
}
}
}
/// 根据条件列合并GridView列中相同的行
public static void MerRows(GridView GridView1, int cellNum, int cellNum2)
{
int i = 0, rowSpanNum = 1;
while (i < GridView1.Rows.Count - 1)
{
GridViewRow gvr = GridView1.Rows[i];
for (++i; i < GridView1.Rows.Count; i++)
{
GridViewRow gvrNext = GridView1.Rows[i];
if (gvr.Cells[cellNum].Text + gvr.Cells[cellNum2].Text == gvrNext.Cells[cellNum].Text + gvrNext.Cells[cellNum2].Text)
{
gvrNext.Cells[cellNum].Visible = false;
rowSpanNum++;
}
else
{
gvr.Cells[cellNum].RowSpan = rowSpanNum;
rowSpanNum = 1;
break;
} if (i == GridView1.Rows.Count - 1)
{
gvr.Cells[cellNum].RowSpan = rowSpanNum;
}
}
}
}