protected
void
Page_Load(
object
sender, EventArgs e)
{
aRadGrid.HeaderContextMenu.ItemCreated +=
new
RadMenuEventHandler(HeaderContextMenu_ItemCreated);
}
protected
void
Page_Init()
{
...
aRadGrid.MasterTableView.EnableHeaderContextMenu =
true
;
...
}
protected
void
HeaderContextMenu_ItemCreated(
object
sender, Telerik.Web.UI.RadMenuEventArgs e)
{
RadMenuItem anItem = e.Item;
switch
(anItem.Value)
{
case
"SortAsc"
:
case
"SortDesc"
:
case
"SortNone"
:
case
"GroupBy"
:
case
"UnGroupBy"
:
case
"FilterMenuParent"
:
case
"FilterMenuContainer"
:
anItem.Visible =
false
;
break
;
case
"ColumnsContainer"
:
anItem.Text =
"Afficher/Cacher la colonne"
;
break
;
default
:
if
(anItem.Level == 2 && ((RadMenuItem)anItem.Parent).Value ==
"ColumnsContainer"
)
{
//string ww = anItem.Attributes["ColumnName"];
if
(anItem.Value.EndsWith(XarcT.UN_S)
|| anItem.Value.EndsWith(XarcT.UN_IUA)
|| anItem.Value.EndsWith(XarcT.UN_M)
|| anItem.Value.EndsWith(XarcT.UN_L)
|| anItem.Value.EndsWith(XarcT.UN_Limg))
{
anItem.Visible =
false
;
};
};
break
;
}
}
I am using the show/hide columns option of HeaderContextMenu (RadGrid).
It works very well.
But at each time the rebind() is executed, the radgrid doesn't remember the columns which are hided or shown.
Is there a way after each postback, to remember the hided/shown columns.
I've tried to handle the event:
aRadGrid.HeaderContextMenu.ItemCreated +=
new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
but it doesn't fire.
I manage the radgrid programmatically...
aRadGrid.MasterTableView.EnableHeaderContextMenu =
true;
Regards