【发布时间】:2016-12-28 07:32:41
【问题描述】:
我已经为我的网格视图设置了固定宽度。现在我想做的下一件事是为我的网格视图中的所有列设置固定宽度。我已经尝试了以下所有选项,但它们都不起作用。要是能解决就好了。
1) 设置所有BoundFields的ItemStyle-Width为100px
<asp:BoundField DataField="Customer_Name" HeaderText="Customer" SortExpression="Customer_Name" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px"/>
2) 在 RowDataBound 事件中定义列宽
protected void RPMData_RowDataBound(object sender, GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow) {
RPMData.Columns[0].ItemStyle.Width = 150;
RPMData.Columns[1].ItemStyle.Width = 150;
RPMData.Columns[2].ItemStyle.Width = 150;
RPMData.Columns[3].ItemStyle.Width = 150;
RPMData.Columns[4].ItemStyle.Width = 150;
RPMData.Columns[5].ItemStyle.Width = 150;
RPMData.Columns[6].ItemStyle.Width = 150;
RPMData.Columns[7].ItemStyle.Width = 150;
RPMData.Columns[8].ItemStyle.Width = 150;
RPMData.Columns[9].ItemStyle.Width = 150;
}
}
3) 定义css并在RowDataBound事件中调用css
源代码:-
.columnwidth {
width: 150px;
}
代码背后:
protected void RPMData_RowDataBound(object sender, GridViewRowEventArgs e) {
if (e.Row.RowType == DataControlRowType.DataRow) {
for (int i = 0; i > e.Row.Cells.Count; i++) {
e.Row.Cells[i].CssClass = "columnwidth";
}
}
}
为gridview定义的CSS:
.infoTable {
font-size: 11px;
border: #ccc 1px solid;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
border-radius: 3px;
font-family:Arial;
width:50% !important;
}
【问题讨论】: