网格视图 - 固定列宽不起作用

时间:2016-12-28 07:32:41

标签: c# asp.net

我已经为网格视图设置了一个固定的宽度。现在我要做的下一件事是为网格视图中的所有列设置固定宽度。我已经尝试了以下所有选项,但它们都没有工作。如果这个问题得到解决将会很棒。

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;

        }

3 个答案:

答案 0 :(得分:0)

尝试重要的css;

<style type="text/css">
.columnwidth
{
    width: 150px!important;
}
</style>

答案 1 :(得分:0)

问题可能是长字比150px宽,会增加宽度。使用word-break: break-all;

<style>
    #<%= RPMData.ClientID %> td {
        width: 150px;
        word-break: break-all;
    }
</style>

并且不要将GridView的宽度设置为100%(如果已经这样做了)

答案 2 :(得分:0)

问题得到了解决。我主要是试图限制我的网格视图宽度而导致问题。感谢@VDWWD部分解决了我的问题。我刚刚删除了网格视图宽度的限制并添加了简单的ItemStyle我的绑定字段的-Width标记,这解决了它......:)