I have a radcontextmenu with a radgrid. I attach navigate urls with Querystring values from the Radgrid's datakey values client side. I want to add an additional menuitem that performs a simple database action of update based on the datakey value in the radgrid. I cant find a way of doing this after searching pretty hard, so I need help. Perhaps all I need to do is somehow trigger a server side function, or maybe there is another way. The radgrid uses SQL datasource declarative binding. I would like to do the database update for all the rows selected in the RadGrid based on the datakeynames of each row. So basically, I would like add a menu item that asks "Update Selected Rows?" in an alert, then perform the update for each selected row.
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Width="256px" Height="64px" runat="server"> <asp:Label ID="Label2" runat="server" ForeColor="Red">Loading... </asp:Label> </telerik:RadAjaxLoadingPanel> <telerik:RadCodeBlock runat="server" ID="radCodeBlock"> <script type="text/javascript"> function showFilterItem() { $find('<%=RadGrid1.ClientID %>').get_masterTableView().showFilterItem(); } function hideFilterItem() { $find('<%=RadGrid1.ClientID %>').get_masterTableView().hideFilterItem(); } function RowContextMenu(sender, eventArgs) { var NavigateUrl; var grid = window["<%= RadGrid1.ClientID %>"]; var masterTableView = grid.MasterTableView; var menu = $find("<%=RadContextMenu1.ClientID %>"); //document.getElementById("<%= Label1.ClientID %>").innerHTML = eventArgs.getDataKeyValue("ReservationID"); NavigateUrl = document.getElementById("<%= Label1.ClientID %>").innerHTML = eventArgs.getDataKeyValue("ReservationID"); var evt = eventArgs.get_domEvent(); var menuEditItem = menu.findItemByText("Edit"); menuEditItem.set_navigateUrl("Reservation.aspx?ReservationID=" + NavigateUrl); menu.show(evt); } function PopulateParticipant(sender, eventArgs) { var ResID; ResID = eventArgs.getDataKeyValue("ReservationID"); } function OnDateSelected(sender, eventArgs) { sender.set_autoPostBack(true); } </script> </telerik:RadCodeBlock> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> <telerik:RadGrid ID="RadGrid1" runat="server" PageSize="500" Height="600px" AllowFilteringByColumn="True" AllowPaging="True" AllowMultiRowSelection="true" AllowSorting="True" DataSourceID="SqlDsGetRetReservations" GridLines="None" ShowGroupPanel="True" Skin="Windows7" AutoGenerateColumns="False" EnableLinqExpressions="false"> <PagerStyle Mode="Slider"></PagerStyle> <ClientSettings AllowColumnsReorder="True" AllowDragToGroup="True" ReorderColumnsOnClient="True"> <ClientEvents OnRowContextMenu="RowContextMenu" OnRowSelected="PopulateParticipant" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <Selecting AllowRowSelect="true" /> </ClientSettings> <MasterTableView DataSourceID="SqlDsGetRetReservations" NoMasterRecordsText="No Reservations created during this period." PagerStyle-Mode="Advanced" DataKeyNames="ReservationID" ClientDataKeyNames="ReservationID" AllowFilteringByColumn="true"> <Columns> <telerik:GridButtonColumn ButtonType="LinkButton" CommandName="CancelRes" HeaderText="Cancel" UniqueName="Cancel" Text="Cancel" ItemStyle-Width="35px"></telerik:GridButtonColumn> <telerik:GridBoundColumn DataField="ReservationID" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="Res ID" SortExpression="ReservationID" UniqueName="ResID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DeptID" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="DeptID" SortExpression="DeptID" UniqueName="DeptID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Chairperson" HeaderText="Chairperson" ItemStyle-Width="150px" AutoPostBackOnFilter="false" SortExpression="Chairperson" UniqueName="Chairperson"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Passcode" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="Passcode" SortExpression="Passcode" UniqueName="Passcode"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PasscodeM" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="PasscodeM" SortExpression="PasscodeM" UniqueName="PasscodeM"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ContactName" HeaderText="ContactName" ItemStyle-Width="150px" SortExpression="ContactName" UniqueName="ContactName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="StatusID" HeaderText="Status" SortExpression="Status" UniqueName="Status"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:RadContextMenu ID="RadContextMenu1" runat="server" OnItemClick="RadContextMenu1_ItemClick" Skin="Windows7"> <Targets> <telerik:ContextMenuControlTarget ControlID="RadGrid1" /> </Targets> <Items> <telerik:RadMenuItem Text="Add" /> <telerik:RadMenuItem Text="Edit" /> </Items> </telerik:RadContextMenu>Any help would be appreciated.