Hi,
I am adding a new menu to my RadGrid HeaderContextMenu :
var newFilterItem = new Telerik.Web.UI.RadMenuItem();
newFilterItem.set_text("Clear All Filters");
newFilterItem.set_postBack(true);
sender.get_items().insert(0, newFilterItem);
I expect that since postback is true, when menu is clicked, ItemClick event of HeaderContext menu should be fired.
Postback is happening but ItemClick event is not firing!! Is there any other event that gets fired when postback is true for Header Menu?
I am adding a new menu to my RadGrid HeaderContextMenu :
var newFilterItem = new Telerik.Web.UI.RadMenuItem();
newFilterItem.set_text("Clear All Filters");
newFilterItem.set_postBack(true);
sender.get_items().insert(0, newFilterItem);
I expect that since postback is true, when menu is clicked, ItemClick event of HeaderContext menu should be fired.
Postback is happening but ItemClick event is not firing!! Is there any other event that gets fired when postback is true for Header Menu?
4 Answers, 1 is accepted
0

Shinu
Top achievements
Rank 2
answered on 29 May 2014, 01:02 PM
Hi Tushar,
You can try the following code snippet to add an item in ContextMenu.
ASPX:
C#:
Thanks,
Shinu
You can try the following code snippet to add an item in ContextMenu.
ASPX:
<
HeaderContextMenu
OnItemClick
=
"HeaderContextMenu_ItemClick"
>
</
HeaderContextMenu
>
C#:
rotected
void
Page_Load(
object
sender, EventArgs e)
{
RadGridTest.HeaderContextMenu.PreRender +=
new
EventHandler(HeaderContextMenu_PreRender);
}
void
HeaderContextMenu_PreRender(
object
sender, EventArgs e)
{
RadMenuItem newItem =
new
RadMenuItem(
"Clear All Filters"
);
newItem.Attributes[
"TableID"
] = RadGridTest.UniqueID;
RadGridTest.HeaderContextMenu.Items.Add(newItem);
}
protected
void
HeaderContextMenu_ItemClick(
object
sender, RadMenuEventArgs e)
{
// Your code
}
Thanks,
Shinu
0

Tushar
Top achievements
Rank 1
answered on 29 May 2014, 03:07 PM
Hi Shinu,
Thanks for your reply.
I have already tried this code snippet. But it does not show the new menu item added and also no ItemClick is fired.
Thanks for your reply.
I have already tried this code snippet. But it does not show the new menu item added and also no ItemClick is fired.
0
Accepted

Shinu
Top achievements
Rank 2
answered on 30 May 2014, 05:23 AM
Hi Tushar,
Please try the below sample code snippet which works fine at my end. Provide your full code snippet if this doesn't help.
ASPX:
C#:
Thanks,
Shinu
Please try the below sample code snippet which works fine at my end. Provide your full code snippet if this doesn't help.
ASPX:
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
AutoGenerateColumns
=
"false"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
EnableHeaderContextMenu
=
"true"
AllowFilteringByColumn
=
"true"
>
<
HeaderContextMenu
OnItemClick
=
"HeaderContextMenu_ItemClick"
>
</
HeaderContextMenu
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
HeaderText
=
"ID"
UniqueName
=
"ID"
/>
<
telerik:GridBoundColumn
DataField
=
"Name"
HeaderText
=
"Name"
UniqueName
=
"Name"
/>
<
telerik:GridBoundColumn
DataField
=
"Number"
HeaderText
=
"Number"
UniqueName
=
"Number"
/>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
C#:
protected
void
Page_Load(
object
sender, EventArgs e)
{
RadGrid1.HeaderContextMenu.PreRender +=
new
EventHandler(HeaderContextMenu_PreRender);
}
void
HeaderContextMenu_PreRender(
object
sender, EventArgs e)
{
RadMenuItem newItem =
new
RadMenuItem(
"Clear All Filters"
);
newItem.Attributes[
"TableID"
] = RadGrid1.UniqueID;
RadGrid1.HeaderContextMenu.Items.Add(newItem);
}
protected
void
HeaderContextMenu_ItemClick(
object
sender, RadMenuEventArgs e)
{
if
(e.Item.Text ==
"Clear All Filters"
)
{
foreach
(GridColumn column
in
RadGrid1.MasterTableView.Columns)
{
column.CurrentFilterFunction = GridKnownFunction.NoFilter;
column.CurrentFilterValue = String.Empty;
}
RadGrid1.MasterTableView.FilterExpression =
string
.Empty;
RadGrid1.MasterTableView.Rebind();
}
}
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
dynamic data =
new
[] {
new
{ ID = 1, Name =
"Name1"
, Number=123},
new
{ ID = 2, Name =
"Name2"
, Number=234},
new
{ ID = 3, Name =
"Name3"
, Number=234},
new
{ ID = 4, Name =
"Name4"
, Number=456},
new
{ ID = 5, Name =
"Name5"
, Number=567},
new
{ ID = 6, Name =
"Name6"
, Number=567},
new
{ ID = 7, Name =
"Name7"
, Number=789},
new
{ ID = 8, Name =
"Name8"
, Number=896},
new
{ ID = 9, Name =
"Name9"
, Number=741}
};
RadGrid1.DataSource = data;
}
Thanks,
Shinu
0

Tushar
Top achievements
Rank 1
answered on 30 May 2014, 03:08 PM
Hi Shinu,
Thanks a lot for the code snippet, I was able to figure out the problem because of it.
I am having one more issue related to exporting : http://www.telerik.com/forums/making-standard-postback-for-exporting-radgrid-with-ajaxmanager
If you can help with this, it will be really great!!
Thanks a lot!!
Thanks a lot for the code snippet, I was able to figure out the problem because of it.
I am having one more issue related to exporting : http://www.telerik.com/forums/making-standard-postback-for-exporting-radgrid-with-ajaxmanager
If you can help with this, it will be really great!!
Thanks a lot!!