【问题标题】:Radgrid column widths not setting in Chrome browserRadgrid 列宽未在 Chrome 浏览器中设置
【发布时间】:2015-08-04 05:26:24
【问题描述】:

我在 chrome 浏览器中遇到了 rad 网格问题。

列宽在后面的代码中设置。

在 IE 和 Firefox 中,设置相同的列宽可以正常工作,但在 chrome 中,它没有设置指定的宽度。

它是根据列数据中的内容来获取列宽。

这是我的网格

    <asp:PlaceHolder ID="GridHolder" runat="server">

        <telerik:RadGrid ID="goGrid" ClientSettings-Scrolling-UseStaticHeaders="true" MasterTableView-TableLayout="Fixed"  runat="server" OnExcelExportCellFormatting="goGrid_ExcelExportCellFormatting" 
            OnGridExporting="goGrid_GridExporting"  OnItemCommand="goGrid_ItemCommand" OnPdfExporting="goGrid_PdfExporting" 
            OnExcelMLExportRowCreated="goGrid_ExcelMLExportRowCreated">

        </telerik:RadGrid>
    </asp:PlaceHolder>

我在后面的代码中添加列和列宽

 sColDef = cColumns.Item(i).ToString
            sField = "GEN_" & i.ToString
            sLabel = goTR.ExtractString(sColDef, 2, Chr(1))
            sAlignment = goTR.ExtractString(sColDef, 3, Chr(1))
            sWidth = goTR.ExtractString(sColDef, 4, Chr(1))
            iDisplayAsIcon = goTR.StringToNum(goTR.ExtractString(sColDef, 5, Chr(1)))
            iDisplayAsLink = goTR.StringToNum(goTR.ExtractString(sColDef, 6, Chr(1)))
            iTextWidth = goTR.StringToNum(goTR.ExtractString(sColDef, 9, Chr(1)))
            iEllipsis = goTR.StringToNum(goTR.ExtractString(sColDef, 10, Chr(1)))

 Dim oField As New GridTemplateColumn

                If sUseOneLine = "1" Then
                    oField.ItemTemplate = New HyperlinkTemplate(sField, iTextWidth, sAlignment, "LIST", sSystemField, Me.ID, Me.gsSelectedRecordID, "GID_ID", gsFile, goTR.StringToNum(sWidth))
                Else
                    oField.ItemTemplate = New HyperlinkTemplate(sField, iTextWidth, sAlignment, "LIST", sSystemField, Me.ID, Me.gsSelectedRecordID, "GID_ID", gsFile, goTR.StringToNum(sWidth), False)
                End If

                If Not goTR.IsFieldCombined(sViewField) And goData.IsFieldSortable(sSystemField, gsFile) Then
                    oField.HeaderTemplate = New HeaderLinkTemplate(Me.ClientID, sSystemField, goView.GetSortFieldIndex(sSystemField), goView.GetSortFieldDirection(sSystemField), sLabel, goTR.StringToNum(sWidth), sAlignment, gbPrintMode, , sUseHeadings = "0")
                Else
                    oField.HeaderTemplate = New HeaderTemplate(sLabel, goTR.StringToNum(sWidth), sAlignment, gbPrintMode, sUseHeadings = "0")
                End If
                oField.HeaderText = sLabel
                'oField.HeaderStyle.Width = Unit.Pixel(goTR.StringToNum(sWidth))
                goGrid.Columns.Add(oField)

我尝试过设置

 oField.HeaderStyle.Width = Unit.Pixel(goTR.StringToNum(sWidth))
                            oField.FilterControlWidth = New System.Web.UI.WebControls.Unit(sWidth, UnitType.Pixel)

这些也解决了我的问题

我们将不胜感激请帮助我解决这个问题。

【问题讨论】:

  • 您是否尝试在 aspx 页面中为该列设置 ItemStyle-Width
  • 是的,我刚刚尝试过 tat ..但没有结果
  • 将您的 aspx 代码添加到问题中
  • 是的,我添加了我的代码,现在检查一下。在我的 .ascx 中,我在单页中同时使用代码隐藏和 html
  • 您是否尝试在代码 oField.ItemStyle.Width= Unit.Pixel(goTR.StringToNum(sWidth)) 中设置 oField.ItemStyle.Width 的单位像素值

标签: vb.net google-chrome radgrid column-width


【解决方案1】:

最后我尝试通过

修复我在 chrome 浏览器中的错误
  <MasterTableView Width="100%" TableLayout="Fixed"></MasterTableView>

在 rad 网格视图中。

这解决了我在 Rad Grid 中的宽度问题。

【讨论】:

    【解决方案2】:

    尝试在 aspx 中设置 ItemStyle-Width,如下面的代码

    <telerik:GridBoundColumn ItemStyle-Width="12%" HeaderStyle-Width="12%" HeaderStyle-HorizontalAlign="Center" FilterControlWidth="80%" />
    

    更新

    grdName.MasterTableView.Columns(i).HeaderStyle.Width = System.Web.UI.WebControls.Unit.Pixel(50)
    grdName.MasterTableView.Columns(i).FilterControlWidth = System.Web.UI.WebControls.Unit.Pixel(50)
    grdName.MasterTableView.Columns(i).ItemStyle.Width = System.Web.UI.WebControls.Unit.Pixel(50)
    

    希望这对你有帮助。

    【讨论】:

    • 我有单独的列宽而不是静态列宽..我认为你发布了所有列的静态宽度的代码..
    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 2021-09-30
    • 2019-07-25
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多