動態綁定的GridView由於列數不固定,而列又太多(博主做的這個項目有150個左右的字段),這樣設置GridView固定寬度就不能滿足需求了。為此整理了兩種方法來達到GridView自適應列寬不變形的效果。
.aspx.cs 復制代碼 代碼如下:
//在GridView的行數據綁定完的事件中設置
protected void gvObjectList_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow || e.Row.RowType == DataControlRowType.Header)
{
//保持列不變形
for (int i = 0; i < e.Row.Cells.Count; i++)
{
//方法一:
e.Row.Cells[i].Text = " " + e.Row.Cells[i].Text + " ";
e.Row.Cells[i].Wrap = false;
//方法二:
//e.Row.Cells[i].Text = "<nobr> " + e.Row.Cells[i].Text + " </nobr>";
}
}
}
方法一是設置cell的自動換行屬性為false,方法二是用html標記的方式實現不換行; 就是一個空格,可以讓網格線和裡面的內容留有一定的距離保持美觀。