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

Want a setting dropdown menu in RadGrid

6 Answers 203 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Kiresh
Top achievements
Rank 1
Kiresh asked on 03 Jul 2013, 08:57 AM
Hello Everyone,

i want to create one drop-down menu like shown in image on all row of RadGrid where i can click on individual link to perform task like edit,delete etc,


can anyone have idea about this?

Thanks

6 Answers, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 03 Jul 2013, 10:16 AM
Hi Kiresh,

I'm not sure if this is your requirement.Please  try the following code snippet.

ASPX:
<telerik:RadGrid ID="radgrid1" runat="server" >
    <MasterTableView>
        <Columns>
            <telerik:GridTemplateColumn>
                <HeaderTemplate>
                    <telerik:RadMenu ID="RadMenu1" runat="server" EnableRoundedCorners="true" EnableShadows="true"
                        ExpandAnimation-Type="None" CollapseAnimation-Type="None" ExpandDelay="0" CollapseDelay="0">
                        <Items>
                            <telerik:RadMenuItem Text="Operations" Selected="false">
                                <GroupSettings ExpandDirection="Right" />
                                <Items>
                                    <telerik:RadMenuItem Text="Edit">
                                    </telerik:RadMenuItem>
                                    <telerik:RadMenuItem Text="Insert">
                                    </telerik:RadMenuItem>
                                    <telerik:RadMenuItem Text="Delete">
                                    </telerik:RadMenuItem>
                                </Items>
                            </telerik:RadMenuItem>
                        </Items>
                    </telerik:RadMenu>
                </HeaderTemplate>
            </telerik:GridTemplateColumn>
          . . . . . . .   <%--  Your Columns --%>. . . . . . . .
        </Columns>
    </MasterTableView>
    <ClientSettings Selecting-AllowRowSelect="true">
    </ClientSettings>
</telerik:RadGrid>

Thanks,
Princy
0
Kiresh
Top achievements
Rank 1
answered on 03 Jul 2013, 12:55 PM
Hi Princy

that's great , and i want exactly you have posted .
i need one more help

i want grid rowid  given in MasterTableView using Javascript when click on any item

<MasterTableView DataKeyNames="Id" ClientDataKeyNames="Id" >


can you help me ?

Thanks,


0
Princy
Top achievements
Rank 2
answered on 04 Jul 2013, 04:17 AM
Hi Kiresh,

Please try the following code snippet.

ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server">
    <MasterTableView DataKeyNames="OrderId">
        <Columns>
           . . . . . . . . . . . . .
        </Columns>
    </MasterTableView>
    <ClientSettings>
        <ClientEvents OnRowClick="OnRowClick" />
    </ClientSettings>
</telerik:RadGrid>

JS:
<script type="text/javascript">
    function OnRowClick(sender, eventArgs) {
        var grid = sender;
        var MasterTable = grid.get_masterTableView();
        var row = MasterTable.get_dataItems()[eventArgs.get_itemIndexHierarchical()];
        var cell = MasterTable.getCellByColumnUniqueName(row, "OrderID");
        alert(cell.innerHTML);
        //here cell.innerHTML holds the value of the cell 
    }
</script>

Thanks,
Princy
0
Kiresh
Top achievements
Rank 1
answered on 04 Jul 2013, 04:25 AM
Hi Princy,

That's the case when i click on row i get id as per your code ,

now  i want that row id on click of RadMenu that is in

<telerik:GridTemplateColumn>
             
</telerik:GridTemplateColumn>

you posted first time.


is that possible ?

Thanks,
0
Princy
Top achievements
Rank 2
answered on 05 Jul 2013, 09:41 AM
Hi Kiresh ,

For your requirement,may i suggest you try setting AJAX-Enabled Context Menu.Please check the DEMO. In its right click event we can set the edit,insert or delete function.
Hope this helps.

Thanks,
Princy
0
Viktor Tachev
Telerik team
answered on 08 Jul 2013, 06:17 AM
Hello Kiresh,

You could use a combination of the first approach suggested by Princy and the approach illustrated in the demo.

You could set a GridTemplateColumn for the RadGrid with RadMenu in its ItemTemplate:

<telerik:GridTemplateColumn>
    <ItemTemplate>
        <telerik:RadMenu ID="RadMenu1" runat="server" EnableRoundedCorners="true" EnableShadows="true" OnItemClick="RadMenu1_ItemClick"
            ExpandAnimation-Type="None" CollapseAnimation-Type="None" ExpandDelay="0" CollapseDelay="0">
            <Items>
                <telerik:RadMenuItem Text="Select Option" Selected="false">
                    <GroupSettings ExpandDirection="Right" />
                    <Items>
                        <telerik:RadMenuItem Text="Edit">
                        </telerik:RadMenuItem>
                        <telerik:RadMenuItem Text="Delete">
                        </telerik:RadMenuItem>
                    </Items>
                </telerik:RadMenuItem>
            </Items>
        </telerik:RadMenu>
    </ItemTemplate>
</telerik:GridTemplateColumn>

The RadMenu1_ItemClick handler would look similar to this:

protected void RadMenu1_ItemClick(object sender, Telerik.Web.UI.RadMenuEventArgs e)
{
    GridDataItem dataItem = ((GridDataItem)((sender as RadMenu).Parent.Parent));
 
    switch (e.Item.Text)
    {
        case "Edit":
            dataItem.Edit = true;
            RadGrid1.Rebind();
            break;
        case "Delete":
            RadGrid1.MasterTableView.PerformDelete(dataItem);
            break;
    }
}

This way you could have the menu options for each row of the RadGrid.

I hope this would be helpful to you.

Regards,
Viktor Tachev
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
Tags
Grid
Asked by
Kiresh
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Kiresh
Top achievements
Rank 1
Viktor Tachev
Telerik team
Share this question
or