ASP.NET在GridView中设置DataBound列的宽度

我有一个GridView,它使用BoundField作为列。 我正在尝试为UserInfo列设置maxwidth。

我尝试了很多方法,但不是很有效。 下面是我的GridView的代码:

        

寻找有关如何设置特定列宽度的建议,这是我的UserInfo列。

我为你做了一个小演示。 演示如何显示长文本。

在此示例中,列名称可能包含非常长的文本。 boundField将显示表格单元格中的所有内容,因此单元格将根据需要进行扩展 (因为内容)

TemplateField也将呈现为一个单元格,但它包含一个div ,它将任何上下文的宽度 限制为例如40px。 所以这个专栏将有一些最大宽度!

          
<%# Eval("Name") %>

在此处输入图像描述

这是我的演示代码后面

  public partial class gridViewLongText : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { #region init and bind data List list = new List(); list.Add(new Person(1, "Sam")); list.Add(new Person(2, "Max")); list.Add(new Person(3, "Dave")); list.Add(new Person(4, "TabularasaVeryLongName")); gvPersons.DataSource = list; gvPersons.DataBind(); #endregion } } public class Person { public int ID { get; set; } public string Name { get; set; } public Person(int _ID, string _Name) { ID = _ID; Name = _Name; } } 

在绑定字段中添加HeaderStyle:

     

宽度可以设置为特定列,如下所示:按百分比:

  

要么

按像素:

  

在使用宽度时,这适用于所有情况。

 `    ` 
      

嘿,我最近想出了如何设置宽度,如果你的gridview数据绑定与sql dataset.first设置这些控件RowStyle-Wrap="false" HeaderStyle-Wrap="false"然后你可以设置任意多的列宽。 例如: ItemStyle-Width="150px" HeaderStyle-Width="150px"