I'm using the code from the Telerik documentation to maintain the selected row, but it's not working properly. Instead of keeping the selected row, it's jumping to the top row in the table after each postback.
Here's the markup for the grid:
<
telerik:RadGrid
runat
=
"server"
ID
=
"rgAdList"
DataSourceID
=
"sdsRgAdList"
AutoGenerateColumns
=
"False"
AllowPaging
=
"True"
AllowSorting
=
"True"
AllowFilteringByColumn
=
"True"
ShowGroupPanel
=
"True"
OnSelectedIndexChanged
=
"rgAdList_OnSelectedIndexChanged"
OnPreRender
=
"rgAdList_OnPreRender"
OnItemCommand
=
"rgAdList_OnItemCommand"
>
<
ClientSettings
AllowDragToGroup
=
"True"
AllowColumnsReorder
=
"True"
ReorderColumnsOnClient
=
"True"
>
<
Selecting
AllowRowSelect
=
"True"
></
Selecting
>
<
ClientEvents
OnRowSelected
=
"RowSelected"
></
ClientEvents
>
<
ClientEvents
OnFilterMenuShowing
=
"filterMenuShowing"
OnRowSelected
=
"rgAdList_RowSelected"
OnRowCreated
=
"rgAdList_RowCreated"
OnRowDeselected
=
"rgAdList_RowDeselected"
/>
</
ClientSettings
>
<
FilterMenu
OnClientShown
=
"MenuShowing"
/>
<
GroupingSettings
CaseSensitive
=
"False"
></
GroupingSettings
>
<
PagerStyle
AlwaysVisible
=
"True"
></
PagerStyle
>
<
MasterTableView
DataKeyNames
=
"mail"
DataSourceID
=
"sdsRgAdList"
>
<
PagerStyle
PageSizes
=
"5, 10, 25, 50, 100, 200, 300, 400"
></
PagerStyle
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"givenName"
HeaderText
=
"First Name"
SortExpression
=
"givenName"
UniqueName
=
"givenName"
FilterControlAltText
=
"Filter givenName column"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"sn"
HeaderText
=
"Last Name"
SortExpression
=
"sn"
UniqueName
=
"sn"
FilterControlAltText
=
"Filter sn column"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"mail"
ReadOnly
=
"True"
HeaderText
=
"Email"
SortExpression
=
"mail"
UniqueName
=
"mail"
FilterControlAltText
=
"Filter mail column"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"title"
HeaderText
=
"Title"
SortExpression
=
"title"
UniqueName
=
"title"
FilterControlAltText
=
"Filter title column"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"department"
HeaderText
=
"Department"
SortExpression
=
"department"
UniqueName
=
"department"
FilterControlAltText
=
"Filter department column"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
></
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"manager"
HeaderText
=
"Manager"
SortExpression
=
"manager"
UniqueName
=
"manager"
FilterControlAltText
=
"Filter manager column"
HeaderStyle-Font-Bold
=
"true"
HeaderStyle-HorizontalAlign
=
"Center"
ItemStyle-HorizontalAlign
=
"Center"
></
telerik:GridBoundColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
Here's the script I'm trying to get to work?
<script type=
"text/javascript"
>
function
rgAdList_RowSelected(sender, args) {
var
id = args.getDataKeyValue(
"mail"
);
var
selected = (JSON.parse(sessionStorage.getItem(
"selectedItems"
)) !=
null
) ? JSON.parse(sessionStorage.getItem(
"selectedItems"
)) : {};
if
(!selected[id]) {
selected[id] =
true
;
sessionStorage.setItem(
"selectedItems"
, JSON.stringify(selected));
}
}
function
rgAdList_RowDeselected(sender, args) {
var
id = args.getDataKeyValue(
"mail"
);
var
selected = JSON.parse(sessionStorage.getItem(
"selectedItems"
));
if
(selected[id]) {
selected[id] =
null
;
sessionStorage.setItem(
"selectedItems"
, JSON.stringify(selected));
}
}
function
rgAdList_RowCreated(sender, args) {
var
id = args.getDataKeyValue(
"mail"
);
var
selected = JSON.parse(sessionStorage.getItem(
"selectedItems"
));
if
(selected && selected[id]) {
args.get_gridDataItem().set_selected(
true
);
}
}
Thanks, J