[英]Grid View-Fixed Column Width not working
我已經為網格視圖設置了固定寬度,現在我想做的下一件事是為網格視圖中的所有列設置固定寬度。我嘗試了以下所有選項,但它們都不起作用。如果解決了。
1)將所有BoundField的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;
}
嘗試將css與重要;
<style type="text/css">
.columnwidth
{
width: 150px!important;
}
</style>
問題可能是長字寬了150px,會增加寬度。 使用word-break: break-all;
<style>
#<%= RPMData.ClientID %> td {
width: 150px;
word-break: break-all;
}
</style>
並且不要將GridView的寬度設置為100%(如果已這樣做)
問題得到解決,我主要是試圖限制網格視圖的寬度,這是導致問題的原因。感謝@VDWWD部分解決了我的問題。我剛剛刪除了網格視圖寬度的限制,並添加了簡單的ItemStyle-Width標簽對於我的綁定字段,這解決了它... :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.