讨论:如何让DATAGRID某列内容存在,但却隐藏不显示?

dotAge 2002-10-16 05:51:08
实际上即是要求达到style="display:none"的效果。

不能用boundColumn.visible = false,因为这样的话,该表格中根本就没有该列的内容。

表格中只有行可以使用style="display:none",列不行,列只有一个单元格一个单元格地设置。

有一个办法是将该列宽度设为0,但同时还得把列间距设为0,否则还是有破绽,而这样做,有可能影响整个表格外观,但我觉得这是目前最简单的办法。

不知各位还有没有什么好办法?
...全文
66 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dotAge 2002-10-19
  • 打赏
  • 举报
回复
总结一下就结贴。

比如在页面中有一dataGrid: grdTable

那么要生成某一列让它内容存在,却不显示,可以这样:
Dim HideColumn As New BoundColumn()
HideColumn.DataField = 要绑定的数据字段 HideColumn.ItemStyle.CssClass = "Hidden"
grdTable.Columns.Add(HideColumn)

在你样式表中,应该有一项定义:
td.Hidden {display:none}
sheyanfen 2002-10-17
  • 打赏
  • 举报
回复
直接设置某一列隐藏就好,数据一样存在的,同意hx_li(第一次我)
hssh38 2002-10-17
  • 打赏
  • 举报
回复
hx_li(第一次我) 的方法是对的,
我经常用来做后台管理,如"维护"列,只有在管理员进入时才会显示。
dotAge 2002-10-17
  • 打赏
  • 举报
回复
办法有了,先定义一个样式:
td.Hidden {display:none}
然后:
HideColumn.ItemStyle.CssClass = "Hidden"
ameng_2002 2002-10-17
  • 打赏
  • 举报
回复
可不可以绑定一个DataKeys来实现?
dotAge 2002-10-17
  • 打赏
  • 举报
回复
怎么还会有那么多朋友说用visible=false?
我已经很清楚地说了,用它的话,内容根本就不存在!

流浪鱼的理解是对的,但我的列就是动态生成的,昨晚在我的应用中已经实现我要的结果。
yohomonkey 2002-10-17
  • 打赏
  • 举报
回复
也可以设置该列的字体颜色啊!
不过这个方法没有实践过!
visiable=false肯定没有问题!
建议大家想想别的途径,那才有趣啊!
呵呵呵!
angel_lee 2002-10-17
  • 打赏
  • 举报
回复
关注!
xhan2000 2002-10-17
  • 打赏
  • 举报
回复
不错

也可以采用ItemDataBound中写

e.item.cells[0].Visiable=false;
bluefish922 2002-10-17
  • 打赏
  • 举报
回复
是呀,经常会这么用,比如一些ID,需要用到它但是不显示出来,就隐藏那一列就行了,不过如果你的列是动态生成的上面的写法就用不上。
hx_li 2002-10-16
  • 打赏
  • 举报
回复
将该列的Visible属性设置为false
DataGrid_Policy.Columns[i].Visible=false;

i表示DataGrid的第i列,i从0开始计数

62,047

社区成员

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

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

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

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