2014-02-26 58 views
0

我想在我的项目中显示Telerik RadGrid。 我在更改列宽时遇到问题。 我的网格的数据源是一个对象列表。 当我向网格中添加滤镜时,列的宽度是固定的,我无法更改它/调整它的大小。Telerik UI ASP.net RADGRID以编程方式设置列宽度

P.S.我想以编程方式解决这个问题(在VB代码)

我的VB代码:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not IsPostBack Then 
     setColumnsOnGrid(Of object)(lst, RadGrid1, ArrayNameFilds:={"column1", "column2", "column3 ", "etc."}) 
    End If 
End Sub 


Private Sub setColumnsOnGrid(Of T)(ByVal lst As List(Of T), ByVal grdName As RadGrid, ByVal ArrayNameFilds As Array) 
    Dim nameFiled As String 
    grdName.DataSource = lst 
    grdName.AllowMultiRowSelection = True 
    grdName.MasterTableView.AutoGenerateColumns = False 

    Dim boundColumn As GridBoundColumn 

    For i As Integer = 0 To ArrayNameFilds.Length - 1 
     nameFiled = ArrayNameFilds(i).ToString() 
     boundColumn = New GridBoundColumn() 
     grdName.MasterTableView.Columns.Add(boundColumn) 
     boundColumn.DataField = nameFiled 
     boundColumn.HeaderText = nameFiled 
    Next 
End Sub 

我的aspx:

<telerik:RadGrid ID="grd_test" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" CellSpacing="0" GridLines="None"> 
    <ClientSettings> 
     <Scrolling AllowScroll="True" UseStaticHeaders="True" /> 
    </ClientSettings> 
</telerik:RadGrid> 

回答

0

我发现Telerik的论坛上回答:

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) 

您还可以使用百分比:

System.Web.UI.WebControls.Unit.Percentage 
+0

将您自己的答案标为有效! :) –

相关问题