我在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)
这些也未解决我的问题
帮助将不胜感激,请帮助我。
答案 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)
希望这会对你有所帮助。