怎样让GridView控件的宽度自动适应内容的大小?

xtjatswc 2008-12-21 03:24:29
如题, 有没有哪位前靠晓得啊,
这个问题困绕了我好久, 列里的内容一长,
就会折成两行来显示, 甚是难看。
...全文
1968 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mengbo0104 2010-11-18
  • 打赏
  • 举报
回复
我去试试看!
kensuper 2010-04-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xtjatswc 的回复:]
不过后来发现, 其实没有这么麻烦, 只需将GridView的Width属性去掉就OK了
[/Quote]
你说的这个怎么设置的?我好像实现不了。请教下你。
xtjatswc 2009-02-26
  • 打赏
  • 举报
回复
不过后来发现, 其实没有这么麻烦, 只需将GridView的Width属性去掉就OK了
xtjatswc 2009-02-26
  • 打赏
  • 举报
回复
不过后来发现, 其实没有这么麻烦, 只需将GridView的Width属性去掉就OK了
MAOGE1987 2008-12-22
  • 打赏
  • 举报
回复
MSDN上有根据数据内容设置列宽
创建 RowDataBound 事件的处理程序。

每次在网格中的新行绑定数据时,都会引发 RowDataBound 事件,而且该事件将授予您对每行中数据的访问权限。

在事件处理程序中,执行下列操作:

创建 DataRowView 对象并为其分配当前网格行的 DataItem 值。

DataItem 属性将被类型化为一个对象。因此,您必须强制转换该属性。

测试数据行 (DataControlRowType) 以确保您使用的是数据绑定行而不是页眉或页脚。

从 DataRowView 对象提取要检查的数据值。

设置 ItemStyle 属性的 Width 属性。

将 ItemStyle 属性的 Wrap 属性设置为 false。

如果 Wrap 属性为 false,则会自动调整列的大小。

下面的代码示例说明在设置某一列(在本例中为第三列)的宽度时如何根据上一列中最宽数据元素的宽度进行设置。将为 GridView 控件所显示的每个数据行调用一次 RowDataBound 事件处理程序。这段代码将最宽元素的字符数存储在受保护的页成员中,并将列的宽度设置为字符数乘以 30(任意乘数)。
protected int widestData;
protected void GridView1_RowDataBound(object sender,
GridViewRowEventArgs e)
{
System.Data.DataRowView drv;
drv = (System.Data.DataRowView)e.Row.DataItem;
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (drv != null)
{
String catName = drv[1].ToString();
Response.Write(catName + "/");

int catNameLen = catName.Length;
if (catNameLen > widestData)
{
widestData = catNameLen;
GridView1.Columns[2].ItemStyle.Width =
widestData * 30;
GridView1.Columns[2].ItemStyle.Wrap = false;
}

}
}
}

protected void Page_Load(object sender, EventArgs e)
{
widestData = 0;
}

连接地址http://msdn.microsoft.com/zh-cn/library/ms178296(VS.80).aspx
xtjatswc 2008-12-22
  • 打赏
  • 举报
回复
很好, 很强大

62,269

社区成员

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

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

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

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