在gridview和datagrid里设置列宽

无论是gridview还是datagrid,在绑定数据后,列宽都不是固定的,在设计时是没法设定的,只能通过绑定是触发的事件来重新设定。参考http://msdn2.microsoft.com/zh-cn/library/ms178296(VS.80).aspx 的解释.

gridview的代码:

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; }


datagrid 的代码:

protected void datagrid_ItemCreated(object sender, DataGridItemEventArgs e) { ListItemType itemType = e.Item.ItemType; if (itemType == ListItemType.Header) { for (int i = 0; i < e.Item.Cells.Count; i++) { e.Item.Cells[i].Width = Unit.Pixel(80); e.Item.Cells[i].Wrap = false; } } }

本文地址:http://www.watch-life.net/aspnet/gridview-datagrid-column-width.html



微信扫描下方的二维码阅读本文

在gridview和datagrid里设置列宽》有 2 个想法

  1. fay

    经常来你的宁静雅致的小轩馆逛、、、

    学到不少东西。转了你一些文章,呵呵

    回复

回复 xjb 取消回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注