1

我有一个gridview,我需要在gridview 数据绑定后获取列的宽度。我必须有 AutoGenerateColumns=true 因为 gridview 绑定到的数据表的列不会被修复。我遇到的问题是当 AutoGenerateColumns 为真时,gridview 列集合未填充。无论如何我可以在gridview数据绑定后获得每列的宽度吗?我尝试使用 RowDataBound 并遍历表格单元,但每列的宽度为 0。

4

2 回答 2

3

除非您将列的宽度设置为特定大小(您不是),否则至少在呈现 Page_Render 事件之前,您不可能知道生成列的宽度。在此之前控件的 html 不存在,并且在页面呈现为 html 并处理附加的 css 之前无法知道其宽度。

于 2010-01-26T04:28:21.237 回答
0

也许这在控件的生命周期中太早了,无法访问 GridView 的属性。您是否尝试过在 DataBound 事件中访问 GridView 的列宽?有关详细信息,请参阅ASP.NET 页面生命周期概述

数据绑定事件:

此事件标志着数据绑定控件中数据绑定操作的结束。在 GridView 控件中,所有行和任何子控件的数据绑定都是完整的。使用此事件来格式化数据绑定内容或在其他控件中启动数据绑定,这些控件依赖于当前控件内容中的值。

于 2010-01-26T03:44:45.603 回答