DataGrid动态添加列后Columns.Count为何总是为 0 ?

ue 2003-09-29 04:16:48
1,这是什么原因?
2,什么时候(事件)怎样才能得到列和?


...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ue 2003-09-29
  • 打赏
  • 举报
回复
我还有个问题,向这个DataGrid加载ButtonColumn,能不能让此列在最后?

目前我在DataGrid1_Init中加载,无法让它在最后。

请指点~~
xrll 2003-09-29
  • 打赏
  • 举报
回复
你的DataGrid应该是自动生成列的,不然不会出现这种情况,你可以在itemdatabound事件中处理:
public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if((e.Item.ItemType == ListItemType.Item) ||(e.Item.ItemType == ListItemType.AlternatingItem)||(e.Item.ItemType == ListItemType.Header))
{
e.Item.Cells[3].Visible=false;
}
}
ue 2003-09-29
  • 打赏
  • 举报
回复
各位谁知道如何隐藏某个动态添加的列? 我需要各位的帮忙!!!

datagrid的列是由
DataTable到DataView到Datagrid的

我用在DataTable动态加载列

然后加载数据,之后将DataTable创建到DataView

之后
DataGrid1.DataSource = DataView
DataGrid1.DataBind()

浏览一切正常。

但是我想隐藏DataGrid1中的某列,这列也是上述方法生成的。
当我在DataGrid1.DataBind()之后使用
DataGrid1.Columns(3).Visible = False

错误信息为:
索引超出范围。必须为非负值并小于集合大小。参数名:index

经过调试:
我发现Columns.Count始终为0,这就是上面错误的原因。
在datagrid几乎所有事件,都是这个结果。

我纳闷啊~~~
DataGrid中明明有列,为什么Columns.Count始终为0

各位,帮我啊~~~~~~~~~~~~~~


我需要你们的帮助!!!

比尔咔咔 2003-09-29
  • 打赏
  • 举报
回复
2.什么时候都行
DataGrid1.Items.Count这就是列和(就这个页面的

62,040

社区成员

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

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

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

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