Hi All,
I have a context menu targeting a RadGrid. I've successfully figured-out some pretty complex stuff with the menu and the grid, but I am stuck on what seems like a very simple issue. To make this easy to discuss, I've simplified my problem.
The bottom line is that I am having a difficulty capturing the "clicked item" in JS. The procedure I am using is almost exactly as described in here: http://www.telerik.com/help/aspnet-ajax/menu-onclientitemclicked.html
In short, my context menu is targeting my grid, no problem. Also, my on click event is firing as well. Here is a simplified version:
Here is my context menu config:
However, when the event fires "myMenuItem" is null. The alert window pops up, but still a null value. I figure this is probably something simple, but I cannot spot it. I would really appreciate some help.
The code for my entire page is attached below. Thank you so much for any help!
Jim
I have a context menu targeting a RadGrid. I've successfully figured-out some pretty complex stuff with the menu and the grid, but I am stuck on what seems like a very simple issue. To make this easy to discuss, I've simplified my problem.
The bottom line is that I am having a difficulty capturing the "clicked item" in JS. The procedure I am using is almost exactly as described in here: http://www.telerik.com/help/aspnet-ajax/menu-onclientitemclicked.html
In short, my context menu is targeting my grid, no problem. Also, my on click event is firing as well. Here is a simplified version:
function OnContextMenu_Grid(sender, args) { var myMenuItem = args.get_item().get_value(); alert(myMenuItem)}Here is my context menu config:
<telerik:RadContextMenu ID="FlowsContextMenu" Runat="server" onclientitemclicked="OnContextMenu_Grid"> <Targets> <telerik:ContextMenuControlTarget ControlID="RadGrid1" /> </Targets> <Items> <telerik:RadMenuItem runat="server" Text="EDIT This Item"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" IsSeparator="True" Text="Line"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Add One"> <Items> <telerik:RadMenuItem runat="server" Text="Normal Flow"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Alternate Flow"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Business Rule"> </telerik:RadMenuItem> </Items> </telerik:RadMenuItem> </Items> </telerik:RadContextMenu>However, when the event fires "myMenuItem" is null. The alert window pops up, but still a null value. I figure this is probably something simple, but I cannot spot it. I would really appreciate some help.
The code for my entire page is attached below. Thank you so much for any help!
Jim
<%@ Page Language="VB" AutoEventWireup="false" CodeBehind="ContextTest.aspx.vb" Inherits=".ContextTest" %><!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 runat="server"> <title></title></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> <Scripts> <%--Needed for JavaScript IntelliSense in VS2010--%> <%--For VS2008 replace RadScriptManager with ScriptManager--%> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts> </telerik:RadScriptManager> <script type="text/javascript"> function OnContextMenu_Grid(sender, args) { var myMenuItem = args.get_item().get_value(); alert(myMenuItem) } </script> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> </telerik:RadAjaxManager> <telerik:RadContextMenu ID="FlowsContextMenu" Runat="server" onclientitemclicked="OnContextMenu_Grid"> <Targets> <telerik:ContextMenuControlTarget ControlID="RadGrid1" /> </Targets> <Items> <telerik:RadMenuItem runat="server" Text="EDIT This Item"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" IsSeparator="True" Text="Line"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Add One"> <Items> <telerik:RadMenuItem runat="server" Text="Normal Flow"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Alternate Flow"> </telerik:RadMenuItem> <telerik:RadMenuItem runat="server" Text="Business Rule"> </telerik:RadMenuItem> </Items> </telerik:RadMenuItem> </Items> </telerik:RadContextMenu> <br /> <div> <br /> <br /> <br /> <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" CellSpacing="0" DataSourceID="SqlDataSource1" GridLines="None"> <ClientSettings> <Selecting AllowRowSelect="True" /> <ClientEvents /> </ClientSettings> <MasterTableView DataSourceID="SqlDataSource1" ClientDataKeyNames="UseCaseID"> <CommandItemSettings ExportToPdfText="Export to PDF" /> <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"> <HeaderStyle Width="20px" /> </RowIndicatorColumn> <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"> <HeaderStyle Width="20px" /> </ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="UseCaseID" DataType="System.Int32" FilterControlAltText="Filter UseCaseID column" HeaderText="UseCaseID" SortExpression="UseCaseID" UniqueName="UseCaseID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CaseName" FilterControlAltText="Filter CaseName column" HeaderText="CaseName" SortExpression="CaseName" UniqueName="CaseName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CrossCase" FilterControlAltText="Filter CrossCase column" SortExpression="CrossCase" UniqueName="CrossCase" HeaderText="CrossCase"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Tallys" FilterControlAltText="Filter Tallys column" SortExpression="Tallys" UniqueName="Tallys" HeaderText="Tallys"> </telerik:GridBoundColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"> </EditColumn> </EditFormSettings> </MasterTableView> <EditItemStyle BorderStyle="None" /> <HeaderStyle BorderStyle="None" /> <FilterMenu EnableImageSprites="False"> </FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"> </HeaderContextMenu> </telerik:RadGrid><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseUseCase1 %>" SelectCommand="SELECT UseCaseID, CaseName, CrossCase, Tallys FROM v_CaseTree WHERE (CaseParentID = 45) AND (AlternateFlowYN = 2) ORDER BY CaseSort"> </asp:SqlDataSource> <br /> </div> </form></body></html>