I have custom actions that I need to perform on a grid, so I can't use the built-in item commands "Update and Cancel" which trigger the OnBatchEditCommand correctly. As soon as I use CommandItemTemplate tags, I lose that functionality which triggers the OnItemCommand. In code behind, the e.CommandArgument of the OnItemCommand is empty so I can't get a handle on the old and new values to perform tasks.
Please help.
Thanks,
Fahd
Please help.
Thanks,
Fahd
2 Answers, 1 is accepted
0
fahd
Top achievements
Rank 1
answered on 29 Oct 2014, 02:48 PM
To make the problem more apparent, below is the code snippet of the markup. When I press the update button, the ItemCommand gets triggered without the CommandArgument property. How can I trigger the OnBatchEditCommand using CommandItemTemplate?
01.<telerik:RadGrid ID="rgBatchEditing" runat="server" GridLines="Horizontal"02. AllowMultiRowSelection="true" AllowSorting="true" AllowPaging="true" AutoGenerateColumns="false"03. PageSize="15" Skin="View"04. OnBatchEditCommand="rgBatchEditing_BatchEditCommand"05. OnNeedDataSource="rgBatchEditing_NeedDataSource"06. OnItemCommand="rgBatchEditing_ItemCommand">07. <ClientSettings AllowKeyboardNavigation="true">08. <Selecting AllowRowSelect="true" EnableDragToSelectRows="false"/>09. </ClientSettings>10. <MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="Individual,Registration,SignInTime1,SignOutTime1"11. EditMode="Batch" AutoGenerateColumns="False" AllowMultiColumnSorting="true">12. <CommandItemSettings ShowAddNewRecordButton="false" />13. <RowIndicatorColumn UniqueName="ClientSelectColumn">14. <HeaderStyle Width="25" />15. </RowIndicatorColumn>16. <BatchEditingSettings EditType="Row" />17. <Columns>18. <telerik:GridClientSelectColumn UniqueName="SelectorColumn">19. <HeaderStyle Width="20px" />20. <ItemStyle HorizontalAlign="Left"/>21. </telerik:GridClientSelectColumn>22. <telerik:GridTemplateColumn HeaderText="Individual" UniqueName="Individual" DataField="Individual" SortExpression="Individual">23. <ItemTemplate>24. <asp:Label ID="lblIndividual" runat="server" Text="<%# ((PLI.WMS.Business.Entity.Att)Container.DataItem).Individual %>"></asp:Label>25. </ItemTemplate>26. <HeaderStyle Width="70" />27. </telerik:GridTemplateColumn>28. <telerik:GridTemplateColumn HeaderText="First Name" SortExpression="FirstName" UniqueName="FirstName">29. <ItemTemplate>30. <asp:Label ID="lbFirstName" runat="server" Text="<%# ((PLI.WMS.Business.Entity.Att)Container.DataItem).FirstName %>"></asp:Label>31. </ItemTemplate>32. <HeaderStyle Width="100" />33. <ItemStyle Height="25" />34. </telerik:GridTemplateColumn>35. <telerik:GridTemplateColumn HeaderText="Last Name" SortExpression="LastName" UniqueName="LastName">36. <ItemTemplate>37. <asp:Label ID="lbLastName" runat="server" Text="<%# ((PLI.WMS.Business.Entity.Att)Container.DataItem).LastName %>"></asp:Label>38. </ItemTemplate>39. <HeaderStyle Width="100" />40. <ItemStyle Height="25" />41. </telerik:GridTemplateColumn>42. <telerik:GridTemplateColumn DataField="Registration" HeaderText="Registration" SortExpression="Registration"43. UniqueName="RegistrationID">44. <ItemTemplate>45. <asp:Label ID="lblRegistration" runat="server" Text="<%# ((PLI.WMS.Business.Entity.Att)Container.DataItem).Registration %>"></asp:Label>46. </ItemTemplate>47. <HeaderStyle Width="80" />48. </telerik:GridTemplateColumn>49. </Columns>50. <CommandItemTemplate>51. <div style="width:100%;">52. <span style="display:block;float:left;">53. <asp:LinkButton ID="lnkUpdateEdited" runat="server" CommandName="UpdateEdited" Width="120">54. <img style="border:0px;vertical-align:middle; height:24px;" alt="" src="../Images/update.png"/><b style="padding-left:5px;">Update</b>55. </asp:LinkButton>56. </span>57. <span style="display:block;float:left;">58. <asp:LinkButton ID="lnkCancel" runat="server" CommandName="CancelAll" Width="120">59. <img style="border:0px;vertical-align:middle;" alt="" src="../Images/cancel.png"/><b style="padding-left:5px;">Cancel editing</b>60. </asp:LinkButton>61. </span>62. <span style="display:block;float:left;"> 63. <asp:LinkButton ID="lnkCustomAction" runat="server" CommandName="cmdCustomAction" Width="120">64. <img alt="Perform custom action" src="../Images/CustomAction.png" border="0"/><b style="padding-left:5px;">Custom Action</b>65. </asp:LinkButton>66. </span>67. </div>68. </CommandItemTemplate>69. </MasterTableView>70.</telerik:RadGrid>0
fahd
Top achievements
Rank 1
answered on 29 Oct 2014, 04:26 PM
I finally got it to work by using Client-side GridBatchEditing API. Though, we need to stop the execution by returning true otherwise it will not work.
Javascript:
Markup:
Hope this helps.
Javascript:
1.function SaveChangesInGrid(sender, args) {2. var grid = $find('<%=rgBatchEditing.ClientID%>');3. grid.get_batchEditingManager().saveChanges(grid.get_masterTableView());4. return true;5.}Markup:
1.<CommandItemTemplate>2. <asp:LinkButton ID="lnkUpdateEdited" runat="server" CommandName="UpdateEdited" Width="120" OnClientClick="if(SaveChangesInGrid()) {return false;}">3. <img style="border:0px;vertical-align:middle; height:24px;" alt="" src="../Images/update.png"/><b style="padding-left:5px;">Update</b>4. </asp:LinkButton>5.</CommandItemTemplate>Hope this helps.