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

[Solved] unable to open RAD popup window using RAD GRID and RAD context menu

1 Answer 149 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Denny
Top achievements
Rank 1
Denny asked on 25 Jun 2009, 01:21 AM

Dear all,

i am currently using Telerik control for my financial site.

During development of this site i am facing following problem:

 

in the Rad Grid control i am using Rad Context menu.Now i want to know how can i open a RAD popup window,aginst a click on a particular item of context menu
As well i want to track its ID against which a popup has been opened.

Thanks.
Denny.

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 25 Jun 2009, 05:59 AM
Hi Denny,

Try the following code snippet in order to show radwindow on clicking the contexmenu of radgrid. You can pass the clicked item value using the URL Query String.

ASPX:
 
 
<telerik:RadGrid ID="RadGrid1" AllowSorting="true" AllowPaging="true" runat="server" AllowMultiRowSelection="True" DataSourceID="SqlDataSource1"
    <MasterTableView DataSourceID="SqlDataSource1" PageSize="10" TableLayout="Fixed" 
        ClientDataKeyNames="CategoryName" AutoGenerateColumns="True"
        <Columns> 
        </Columns> 
    </MasterTableView> 
    <ClientSettings>         
        <ClientEvents OnRowContextMenu="OnRowContextMenu" /> 
    </ClientSettings>    
</telerik:RadGrid> 
 
<telerik:RadContextMenu ID="RadMenu1" runat="server" OnClientItemClicked="OnClientItemClicked"
    <Items> 
        <telerik:RadMenuItem Text="Open in new window" Value="open" /> 
        <telerik:RadMenuItem Text="Cancel" /> 
    </Items> 
</telerik:RadContextMenu> 
 
<telerik:RadWindowManager ID="RadWindowManager1" runat="server"
</telerik:RadWindowManager> 

JavaScript:
 
<script type="text/javascript"
function OnClientItemClicked(sender, eventArgs) 
    if (eventArgs.get_item().get_value() == "open"
    { 
        radopen("ContextMenuWindow.aspx?index="+index+"&value="+value , "window1"); 
    } 
var index = 0; 
var value; 
function OnRowContextMenu(sender, eventArgs) 
    var menu = $find("<%=RadMenu1.ClientID %>"); 
    var evt = eventArgs.get_domEvent();     
    if(evt.target.tagName == "INPUT" || evt.target.tagName == "A"
    { 
      return
    } 
    index = eventArgs.get_itemIndexHierarchical();     
    var DataItem = $find("<%=RadGrid1.ClientID %>").get_masterTableView().get_dataItems()[index]; 
    value = DataItem.getDataKeyValue("CategoryName"); 
    menu.show(evt);     
    evt.cancelBubble = true
    evt.returnValue = false
    if (evt.stopPropagation) 
    { 
       evt.stopPropagation(); 
       evt.preventDefault(); 
    } 
</script> 

The parameters that you send can be read from the Request object in the Page_Load method of the page that opened in radwindow.
CS:
 
protected void Page_Load(object sender, EventArgs e) 
    if (Request["index"] != null && Request["value"] != null
    { 
        Response.Write("Clicked row index is " + Request["index"].ToString()); 
        Response.Write(" and Clicked row value is " + Request["value"].ToString()); 
    } 

Thanks,
Shinu.
Tags
Grid
Asked by
Denny
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or