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

grid contextmenu, pass row value

1 Answer 70 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Christian
Top achievements
Rank 1
Christian asked on 20 Mar 2011, 05:41 PM
I need to get a value from a griddatabound datafield and pass it on to my context menu events.
at the moment i only get the index, is there any way to do this? can i somehow store the selected value in the input field and retreive it from the radmenu clicked event?


function RowContextMenu(sender, eventArgs)
{
    var menu = $find("ctl00_phContent_RadMenu1");
    var evt = eventArgs.get_domEvent();
      
    if(evt.target.tagName == "INPUT" || evt.target.tagName == "A"
    
      return;
    
      
    var index = eventArgs.get_itemIndexHierarchical();
    document.getElementById("radGridClickedRowIndex").value = index;
      
    sender.get_masterTableView().selectItem(sender.get_masterTableView().get_dataItems()[index].get_element(), true);
      
    menu.show(evt);
      
    evt.cancelBubble = true;
    evt.returnValue = false;
  
    if (evt.stopPropagation)
    {
       evt.stopPropagation();
       evt.preventDefault();
    }
}


</MasterTableView>
    <ClientSettings AllowDragToGroup="True">
        <ClientEvents OnRowContextMenu="RowContextMenu">
        </ClientEvents>
    <Selecting AllowRowSelect="true" />
  
    </ClientSettings>


<input type="hidden" id="radGridClickedRowIndex" name="radGridClickedRowIndex" />
  
    <telerik:RadContextMenu ID="RadMenu1" runat="server" OnItemClick="RadMenu1_ItemClick"
        EnableRoundedCorners="True" EnableShadows="True">
        <Items>
            <telerik:RadMenuItem Text="Öppna ärende" />
            <telerik:RadMenuItem Text="Avsluta ärende" />
            <telerik:RadMenuItem Text="Ta bort ärende" />
        </Items>
    </telerik:RadContextMenu>


protected void RadMenu1_ItemClick(object sender, RadMenuEventArgs e)
    {
        int radGridClickedRowIndex;
  
        radGridClickedRowIndex = Convert.ToInt32(Request.Form["radGridClickedRowIndex"]);

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 21 Mar 2011, 08:21 AM

Hi Christian,


In the client side event handler, get reference to coresponding cell and get the innerHTML as shown in the Telerik documentation.
Now set the HiddenField value (radGridClickedRowIndex) accordingly.


-Shinu.
Tags
Grid
Asked by
Christian
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or