This is a migrated thread and some comments may be shown as answers.

HeaderContextMenu

3 Answers 149 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Bernard
Top achievements
Rank 1
Bernard asked on 20 Oct 2011, 07:35 AM
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;
            }
        }
Hello,
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

 

3 Answers, 1 is accepted

Sort by
0
Bernard
Top achievements
Rank 1
answered on 20 Oct 2011, 07:41 AM
Sorry,

It's the event :

aRadGrid.HeaderContextMenu.ItemClick += new RadMenuEventHandler(HeaderContextMenu_ItemClick);


which doesn't fire !

Bernard
0
Shinu
Top achievements
Rank 2
answered on 20 Oct 2011, 08:34 AM
Hello Bernard,

Please try adding the event handler in  Page_Init.
C#:
protected void Page_Init()
{
       ...
  aRadGrid.HeaderContextMenu.ItemCreated += new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
       ...
}

Thanks,
Shinu.
0
Bernard
Top achievements
Rank 1
answered on 20 Oct 2011, 09:00 AM
Hi Shinu,
Thanks for your answer...
Actually, the event aRadGrid.HeaderContextMenu.ItemCreated += newRadMenuEventHandler(HeaderContextMenu_ItemCreated); is fired in load method.
But I've tried as you recommanded :

protected void Page_Init()
  
{
  
...
aRadGrid.HeaderContextMenu.ItemCreated += new RadMenuEventHandler(HeaderContextMenu_ItemCreated);
aRadGrid.HeaderContextMenu.ItemClick += new RadMenuEventHandler(HeaderContextMenu_ItemClick);
...
}
the event aRadGrid.HeaderContextMenu.ItemCreated += newRadMenuEventHandler(HeaderContextMenu_ItemCreated); is fired.
But the event aRadGrid.HeaderContextMenu.ItemClick += new RadMenuEventHandler(HeaderContextMenu_ItemClick);  is not fired
Regards
Bernard
Tags
Grid
Asked by
Bernard
Top achievements
Rank 1
Answers by
Bernard
Top achievements
Rank 1
Shinu
Top achievements
Rank 2
Share this question
or