GridView显示问题

liuping234232783 2009-04-22 09:56:45
public class GridDecorator
{
public static void MergeRows(GridView GridView1)
{
for (int rowIndex = GridView1.Rows.Count -2; rowIndex >= 0; rowIndex--)
{
GridViewRow row = GridView1.Rows[rowIndex];

GridViewRow previousRow = GridView1.Rows[rowIndex + 1];

for (int i = 0; i < row.Cells.Count; i++)
{
if (row.Cells[i].Text == previousRow.Cells[i].Text)
{
previousRow.Cells[i].Visible=else;
}
}
}
}
}
protected void GridView1_PreRender(object sender, EventArgs e)
{
GridDecorator.MergeRows(GridView1);
}
这样写出来,如果前面的数据相同把他不显示,但为什么后面的数据移到前面的数据中;
要的结果显示
部门 产量 班别
C 100 c1
h c2
用上面代码弄出来确是
部门 产量 班别
c c1
h c2

在上面代码怎么写才能不让后面的数据往前移动?
...全文
160 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xu54647265 2009-04-22
  • 打赏
  • 举报
回复
会不会是previousRow.Cells[i].Visible=else这句的问题?
排除你手误的问题,会不会Visible是指整个单元是否显示,而不是单元内容是否显示?
liuping234232783 2009-04-22
  • 打赏
  • 举报
回复
我也觉得奇怪.不明白!!
CeShenBeiWang 2009-04-22
  • 打赏
  • 举报
回复
不会这样的吧 ,你用的是GridView控件 每一列绑定的字段值是不一样的,怎会移动呢
xu54647265 2009-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuping234232783 的回复:]
我都刷新好几次了,没用!除非是浏览器的问题
[/Quote]
做网页开发是这样的。
多试几个浏览器吧。
我以前在学校学网页开发的时候,装了3个浏览器,IE、FF、CHROME
不过MS自己的东西,IE应该是支持的最好的,如果连这个都有显示问题,就OX了……
liuping234232783 2009-04-22
  • 打赏
  • 举报
回复
要的结果就是相同的值只显示一个,其他显示为空,现在的问题就是为什么后面的数据移动到了相同数据表格位子.怎么才能不移动到前面位子?
CeShenBeiWang 2009-04-22
  • 打赏
  • 举报
回复
如果你不想显示的话就连标题一起隐藏,
如果需要显示标题那就在你不需要显示的列中用其他的值来代替,例如显示一个水印的文字说明。
liuping234232783 2009-04-22
  • 打赏
  • 举报
回复
我都刷新好几次了,没用!除非是浏览器的问题
xu54647265 2009-04-22
  • 打赏
  • 举报
回复
多测试几个浏览器试试,有可能是兼容问题或者其他问题。
比如,我这CSDN的网页,在CHROME上跑的时候,大部分是正常的,偶尔的会出现显示问题,但是一刷新就正常了。

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧