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
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"False"
Culture
=
"it-IT"
DataSourceID
=
"SqlDataSource1"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
AllowPaging
=
"True"
Skin
=
"Outlook"
CellSpacing
=
"-1"
GridLines
=
"Both"
>
<
ExportSettings
>
<
Pdf
PageWidth
=
""
>
</
Pdf
>
</
ExportSettings
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"True"
UseStaticHeaders
=
"True"
/>
</
ClientSettings
>
<
MasterTableView
DataKeyNames
=
"Id"
DataSourceID
=
"SqlDataSource1"
CommandItemDisplay
=
"Top"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
>
<
HeaderStyle
Width
=
"35px"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
DataField
=
"Id"
DataType
=
"System.Int32"
FilterControlAltText
=
"Filter Id column"
HeaderText
=
"Id"
ReadOnly
=
"True"
SortExpression
=
"Id"
UniqueName
=
"Id"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridDateTimeColumn
DataField
=
"Date"
DataType
=
"System.DateTime"
FilterControlAltText
=
"Filter Date column"
HeaderText
=
"Date"
SortExpression
=
"Date"
UniqueName
=
"Date"
DataFormatString
=
"{0:dd/MM/yyyy}"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"80px"
/>
</
telerik:GridDateTimeColumn
>
<
telerik:GridDropDownColumn
DataField
=
"Pnum"
DataSourceID
=
"SqlDataSource2"
ListTextField
=
"Pnum"
ListValueField
=
"Pnum"
FilterControlAltText
=
"Filter column column"
UniqueName
=
"column"
HeaderText
=
"P-Number"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"80px"
/>
</
telerik:GridDropDownColumn
>
<
telerik:GridBoundColumn
DataField
=
"WorkedTime"
DataType
=
"System.TimeSpan"
FilterControlAltText
=
"Filter WorkedTime column"
HeaderText
=
"Worked Time"
SortExpression
=
"WorkedTime"
UniqueName
=
"WorkedTime"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"90px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Week"
FilterControlAltText
=
"Filter Week column"
HeaderText
=
"Week"
SortExpression
=
"Week"
UniqueName
=
"Week"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"60px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridDropDownColumn
DataField
=
"minutes"
DataSourceID
=
"SqlDataSource3"
ListTextField
=
"minutes"
ListValueField
=
"minutes"
FilterControlAltText
=
"Filter minutes column"
UniqueName
=
"minutes"
HeaderText
=
"Minutes"
DataType
=
"System.Int16"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"80px"
/>
</
telerik:GridDropDownColumn
>
<
telerik:GridDropDownColumn
DataField
=
"hours"
DataSourceID
=
"SqlDataSource4"
ListTextField
=
"hours"
ListValueField
=
"hours"
FilterControlAltText
=
"Filter hours column"
UniqueName
=
"hours"
HeaderText
=
"Hours"
DataType
=
"System.Int16"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
<
HeaderStyle
Width
=
"80px"
/>
</
telerik:GridDropDownColumn
>
<
telerik:GridBoundColumn
DataField
=
"Note"
FilterControlAltText
=
"Filter Note column"
HeaderText
=
"Note"
SortExpression
=
"Note"
UniqueName
=
"Note"
>
<
ColumnValidationSettings
>
<
ModelErrorMessage
Text
=
""
/>
</
ColumnValidationSettings
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ButtonType
=
"ImageButton"
Text
=
"Delete"
CommandName
=
"Delete"
FilterControlAltText
=
"Filter column1 column"
ConfirmDialogType
=
"RadWindow"
ConfirmText
=
"Do you really want to delete this project and all its content?"
UniqueName
=
"column1"
>
<
HeaderStyle
Width
=
"30px"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
<
EditFormSettings
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
FilterControlAltText
=
"Filter EditCommandColumn1 column"
></
EditColumn
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
1.
function
OnSocialButtonClicking(sender, args) {
2.
var
url =
"http://www.telerik.com/"
3.
var
title =
"test test test test test test"
4.
args.set_stringsToShare(url, title)
5.
}