我想有一个一致的列宽度

本文关键字:有一个 | 更新日期: 2023-09-27 18:05:17

所以我有一个表,在每个单元格内,是一个gridview。基本上就是表中表。现在,每个网格视图中的列都有任意的宽度,这取决于每个单元格中每个文本的长度。我想让它们都一样,这样看起来更好看。

在一个循环中,我创建每个gridview,绑定到一个单元格,绑定到一行,并附加到外部表。在我将gridview绑定到dataview后,我试图添加此语句,以使第一列的宽度一致:

gvTemp.Columns[0].ItemStyle.Width = Unit.Pixel(400);

但是我得到一个错误,说0是一个太大的索引,即使gridview不是空的。

我是否使用了错误的方法?我是否将代码放置在错误的位置?

我想有一个一致的列宽度

解决这个问题的一种方法是将CSS中的使用百分比与javascript中的一些简单数学结合起来。使用javascript获取表中的列数,除以100,并将结果作为宽度值(以百分比表示)应用于每列。这样,无论你有多少列,它都会均匀地分割它们。

当你有很多列并且它们变得太窄而无法合理使用时,这将成为一个问题,在这种情况下,你最好为每个列设置以像素为单位的宽度

看起来Columns属性是用于显式声明的列,而您的列可能是从数据源隐式声明的。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.columns (v = vs.110) . aspx

检查Rows属性。您可能需要设置第一行内单元格的宽度:

Rows[0].Cells[0].Width = Unit.Pixel(400)