我正在尝试在C#中设置Gridview中列的宽度,但它根本不起作用。我试图通过以下方法设置标题样式和项目样式:
GridView1.Columns[0].ItemStyle.Width = Unit.Pixel(200);
和标题样式类似。这似乎都不起作用。我在网上看到许多论坛,人们有类似的问题,但在寻找大约1小时30分钟后,我仍然找不到一个也有解决方案。
还有一个规定 - 我的网格中的所有列都是动态的,所以它必须是我可以以编程方式设置的东西 - 而不是标记。
我感谢你对这个问题的任何帮助!
编辑:在Jon的帮助下,通过其他一些研究我认为问题是因为我在标记中没有定义任何列。但是,我还没弄清楚如何解决这个问题。我不能在标记中放置列,因为该表是使用后端的中继器生成的。如果有人对此有任何见解,请告诉我。
答案 0 :(得分:0)
我遇到了同样的问题。我意识到因为我将网格数据绑定到数据源,并且因为我的gridview具有自动化列的属性,所以之后无法设置列的宽度。如果将该属性更改为false,则应该能够以编程方式调整它们的大小。
编辑:这是你在GridView标记中需要的标记:<Columns>
<asp:BoundField DataField="your_database_column" />
<asp:BoundField DataField="your_next_database_column" />
...
</Columns>
答案 1 :(得分:0)
设置GridView1.Columns[0].ItemStyle.Width = Unit.Pixel(100);
应该这样做。执行此操作时,相应的td应包含style =“width:100px”。不需要修改标题元素的宽度,因为它是自动完成的。
还在Gridview声明中设置AutoGenerateColumns="false"
。