【问题标题】:Grid View-Fixed Column Width not working网格视图固定列宽不起作用
【发布时间】: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;

        }

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    尝试使用重要的 css;

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

    【讨论】:

      【解决方案2】:

      问题可能是长词比 150 像素宽,并且会增加宽度。使用word-break: break-all;

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

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

      【讨论】:

      • hi :@VDWWD,感谢您的建议...尝试了相同的方法..但我猜宽度正在根据标题文本进行调整..也删除了 gridview 宽度设置css 但没用。我还在帖子中添加了为我的 gridview 定义的 css,这样可能会有所帮助
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2013-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-15
        • 2013-07-03
        • 1970-01-01
        相关资源
        最近更新 更多