未在Chrome浏览器

时间:2015-05-22 08:59:10

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

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

列宽设置在代码后面。

在I.E和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)

这些也未解决我的问题

帮助将不胜感激,请帮助我。

2 个答案:

答案 0 :(得分:2)

最后我试图通过

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

在rad网格视图中。

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

答案 1 :(得分:0)

尝试在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)

希望这会对你有所帮助。