Chrome 浏览器中未设置 Radgrid 列宽
Radgrid column widths not setting in Chrome browser
我在 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)
这些也没有解决我的问题
将不胜感激请帮助我解决这个问题。
尝试像下面的代码一样在 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)
希望对您有所帮助。
最后我尝试通过
修复 chrome 浏览器中的错误
<MasterTableView Width="100%" TableLayout="Fixed"></MasterTableView>
在 rad 网格视图中。
这解决了我在 Rad Grid 中的宽度问题。
我在 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)
这些也没有解决我的问题
将不胜感激请帮助我解决这个问题。
尝试像下面的代码一样在 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)
希望对您有所帮助。
最后我尝试通过
修复 chrome 浏览器中的错误 <MasterTableView Width="100%" TableLayout="Fixed"></MasterTableView>
在 rad 网格视图中。
这解决了我在 Rad Grid 中的宽度问题。