从数据库读取数据在gridview显示,怎样实现只显示除了列值为0或null的其它所有行?不确定是哪列的值全部为0或者有多少列的值都为0

cenny_1996 2012-11-01 07:32:20
如图:

id name a b c d e
01 AAAA 9 6 8 0 0
02 BBBB 0 0 1 0 0
03 VVVV 2 6 7 0 0
04 DDDD 2 5 0 0 0
05 KKKK 7 1 1 0 0

因d列和e列值都是0,在gridview里只显示成:

id name a b c
01 AAAA 9 6 8
02 BBBB 0 0 1
03 VVVV 2 6 7
04 DDDD 2 5 0
05 KKKK 7 1 1

当c列的值也是0是,c列也不显示:

id name a b
01 AAAA 9 6
02 BBBB 0 0
03 VVVV 2 6
04 DDDD 2 5
05 KKKK 7 1
...全文
155 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
kxloveh 2012-11-02
  • 打赏
  • 举报
回复
好吧,我想他们大概没理解你的意思,你的意思应该是要根据整列是否为0来决定该列是否隐藏吧。
可以这样:用sql语句:

select sum(a),sum(b),sum(c),sum(d),sum(e)
from 你的表

然后,执行放到一个DataTable中,命名为dt_sum 吧。

在GridView1_PreRender事件中:

//假设c全为0,隐藏c列
if (dt_sum.Rows[0][2].ToString() == "0")
GridView1.Columns[2+2].Visible = false;


以上应该就你想要的了。
注意:别放在RowDataBind中,如果你的字段是自动生成的,会出问题。
Im_yours 2012-11-02
  • 打赏
  • 举报
回复
在这个·GridView1_RowDataBound 里面写 也可以
e.cells[x].Visible=false;
笨笨熊三号 2012-11-01
  • 打赏
  • 举报
回复
只能在绑定数据前选遍历判断一下,如果都为0就不显示
GridView1.Columns[4].Visible = false;

62,073

社区成员

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

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

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

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