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 IfEnd SubPrivate 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 NextEnd Sub<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>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel_App" runat="server"></telerik:RadAjaxLoadingPanel><telerik:RadAjaxPanel ID="RadAjaxPanel_App" LoadingPanelID="RadAjaxLoadingPanel_App" runat="server"> <telerik:RadNotification ID="RadNotification_ExitWithoutSave" Position="Center" Width="350px" Height="160px" LoadContentOn="FirstShow" AutoCloseDelay="0" Title="Please Confirm" TitleIcon="~/style/img/help2_16.png" EnableRoundedCorners="true" Animation="Fade" ShowCloseButton="False" Overlay="True" Opacity="95" KeepOnMouseOver="False" runat="server" RenderMode="Auto"> <ContentTemplate> <telerik:RadButton ID="rbt_Yes" Text="Yes" CommandName="Yes" ButtonType="StandardButton" width="100px" Font-Bold="true" Icon-PrimaryIconCssClass="rbOk" Icon-PrimaryIconTop="6px" runat="server" RenderMode="Auto" /> </ContentTemplate> </telerik:RadNotification>......

Hi there,
I check the display-property of the columns of a RadGrid on PreRender, but it isn't actual.
If I Hide/Show another Column or sort a column, the PreRender Function gives the correct display-property.
Here my code:
<%
@
Page
Language
="VB"
AutoEventWireup
="false"
CodeBehind
="Default.aspx.vb"
Inherits
="TelerikWebAppHideUnhideColBug._Default"
%>
<%
@
Register
Assembly
="Telerik.Web.UI"
Namespace
="Telerik.Web.UI"
TagPrefix
="telerik"
%>
<!
DOCTYPE
html
PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
="http://www.w3.org/1999/xhtml">
<
head
id
="Head1"
runat
="server">
<
title
></
title
>
</
head
>
<
body
>
<
form
id
="form1"
runat
="server">
<
script
type
="text/javascript">
function
RadGridCSC_ColumnHidden(sender, args) {
$find(
"<%= RadAjaxManager1.ClientID %>"
).ajaxRequest(
"ColumnHidden"
);
}
function
RadGridCSC_ColumnShown(sender, args) {
$find(
"<%= RadAjaxManager1.ClientID %>"
).ajaxRequest(
"ColumnShown"
);
}
function
RadGridCSC_ColumnRezised(sender, args) {
$find(
"<%= RadAjaxManager1.ClientID %>"
).ajaxRequest(
"ColumnRezised"
);
}
</
script
>
<
telerik
:
RadAjaxManager
ID
="RadAjaxManager1"
runat
="server">
</
telerik
:
RadAjaxManager
>
<
telerik
:
RadScriptManager
ID
="RadScriptManager1"
runat
="server"></
telerik
:
RadScriptManager
>
<
div
>
<
telerik
:
RadGrid
ID
="RadGrid1"
runat
="server"
AllowFilteringByColumn
="True"
AllowPaging
="True"
PageSize
="50"
Width
="100%"
Height
="650"
AllowSorting
="True"
CellSpacing
="0"
EnableHeaderContextMenu
="true"
EnableHeaderContextFilterMenu
="true">
<
GroupingSettings
CaseSensitive
="false"></
GroupingSettings
>
<
MasterTableView
AutoGenerateColumns
="false"
AllowFilteringByColumn
="True"
CommandItemDisplay
="Top"
width
="100%"
ClientDataKeyNames
="ProductID">
<
PagerStyle
AlwaysVisible
="true"
Mode
="NextPrevAndNumeric"
/>
<
Columns
>
<
telerik
:
GridBoundColumn
DataField
="ProductID"
Visible
="true"
FilterControlWidth
="60%"
HeaderStyle-Width
="80"
ItemStyle-Width
="60"
HeaderText
="ProductID"
UniqueName
="Version2"
ColumnGroupName
="SoftwareInformation"
ItemStyle-HorizontalAlign
="Left"
HeaderStyle-HorizontalAlign
="Left"
/>
<
telerik
:
GridBoundColumn
DataField
="ProductName"
Visible
="true"
FilterControlWidth
="80%"
HeaderStyle-Width
="200"
ItemStyle-Width
="200"
HeaderText
="Product Name"
UniqueName
="ProductName"
ColumnGroupName
="SoftwareInformation"
ItemStyle-HorizontalAlign
="Left"
HeaderStyle-HorizontalAlign
="Left"
/>
<
telerik
:
GridBoundColumn
DataField
="UnitPrice"
Visible
="true"
DataType
="System.String"
FilterListOptions
="VaryByDataType"
FilterControlWidth
="80%"
HeaderStyle-Width
="270"
ItemStyle-Width
="270"
HeaderText
="UnitPrice"
UniqueName
="UnitPrice"
ColumnGroupName
="SoftwareInformation"
ItemStyle-HorizontalAlign
="Left"
HeaderStyle-HorizontalAlign
="Left"/>
<
telerik
:
GridBoundColumn
DataField
="ReorderLevel"
Visible
="true"
FilterControlWidth
="60%"
HeaderStyle-Width
="80"
ItemStyle-Width
="60"
HeaderText
="ReorderLevel"
UniqueName
="ReorderLevel"
ColumnGroupName
="SoftwareInformation"
ItemStyle-HorizontalAlign
="Left"
HeaderStyle-HorizontalAlign
="Left"
/>
<
telerik
:
GridBoundColumn
DataField
="Discontinued"
Visible
="true"
FilterControlWidth
="80%"
HeaderStyle-Width
="200"
ItemStyle-Width
="200"
HeaderText
="Discontinued"
UniqueName
="Discontinued"
ColumnGroupName
="SoftwareInformation"
ItemStyle-HorizontalAlign
="Left"
HeaderStyle-HorizontalAlign
="Left"
/>
</
Columns
>
</
MasterTableView
>
 
<
ClientSettings
AllowColumnsReorder
="true"
ReorderColumnsOnClient
="false">
<
DataBinding
Location
="http://demos.kendoui.com/service/Northwind.svc"
ResponseType
="JSONP">
<
DataService
TableName
="Products"
Type
="OData"
/>
</
DataBinding
>
<
Scrolling
AllowScroll
="true"
UseStaticHeaders
="true"
ScrollHeight
="300px"
/>
<
ClientEvents
OnColumnShowing
="RadGridCSC_ColumnShown"
OnColumnHidden
="RadGridCSC_ColumnHidden"
/>
</
ClientSettings
>
</
telerik
:
RadGrid
>
</
div
>
</
form
>
</
body
>
</​
html
>
​
Imports
Telerik.Web.UI
Partial
Class
_Default
Inherits
System.Web.UI.
Page
Private
Sub
RadGrid1_PreRender(sender
As
Object
, e
As
System.
EventArgs
)
Handles
RadGrid1.PreRender
Dim
col
As
Telerik.Web.UI.
GridBoundColumn
col = RadGrid1.Columns.FindByUniqueName(
"Version2"
)
Debug
.Print(col.UniqueName +
":"
+ col.di.Display.ToString)
End
Sub
End
Class​
​​​​​​​
Version2:True
Version2:False
Version2:False
Version2:False
Version2:False
Version2:False
