日期:2014-05-18  浏览次数:20477 次

GridView 表头如何换行? (例如共8字分两行,每行4字)
例如这样的场景: 其中一列的数据宽度是90px 左右, 所以列宽设为90px, 但是表头有八个字, 如果让它自动折行, 可能会第一行五个字, 第二行三个字, 很难看, 以前用datagrid 可以在第四个字后面加<br> 让它分两行, 可是gridview 似乎不支持这样做, 写上<br> 它就照原样显示了. 

模板列我知道可以用模板控制, 想问一下绑定列怎么才能控制表头换行? 
谢谢

------解决方案--------------------
VS2008不太熟, 是不能使用<br/>, 但是, VS2008新增了HeaderRow, 可以在你绑定数据时, 进行格式化:

<script runat="server">
private void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ArrayList al = new ArrayList();
al.Add("a");
al.Add("a");
al.Add("a");
al.Add("a");
s.DataSource = al;
s.DataBind();

foreach (TableCell o in s.HeaderRow.Cells)
{
o.Text = string.Format(o.Text, "<br/>");
}
}
}
</script>
.....
<asp:GridView ID="s" runat="server">
<Columns>
<asp:BoundField HeaderText="a{0}b" />
</Columns>
</asp:GridView>
.....