Hi,
Initially, we had a RadGrid whose DataSource is assigned via NeedDataSource (via List Of). All worked perfectly. We now need to add a hierarchical system to have a Parent / Child relationship at the level of our bookings. Visually, the display is what we want.
However, I can not Bind the CommandItemTemplate actions for the DetailTable (RadToolBarGridChildEdit). How can I get information from my parent item for the FireCommand?
Thank you and have a good day
Javascript
01.function onPanelBarItemClicked(sender, args) {02. var button = args.get_item();03. 04. switch (args.get_item().get_commandName()) {05. case "AddResource":06. //Ajouter une nouvelle ligne. Le paramètre "InitInsert" est OBLIGATOIRE et DOIT être écrit EXACTEMENT comme il est inscrit07. var argument = args.get_item().get_commandArgument();08. document.getElementById('<%=gridMid.ClientID%>').value = argument;09. 10. $find('<%= RgPanelSummary.ClientID%>').get_masterTableView().fireCommand("InitInsert", argument);11. break;12. 13. case "AddChildResource":14. //Ajouter une nouvelle ligne. Le paramètre "InitInsert" est OBLIGATOIRE et DOIT être écrit EXACTEMENT comme il est inscrit15. var argument = args.get_item().get_commandArgument();16. document.getElementById('<%=gridMid.ClientID%>').value = argument;17. 18. break; 19. 20. default:21. $find('<%= RgPanelSummary.ClientID%>').get_masterTableView().fireCommand(args.get_item().get_commandName(), args.get_item().get_commandArgument());22. break;23. }24. }
ASP Page
001.<telerik:RadGrid ID="RadGrid1" Width="100%" Height="100%" CellPadding="0" BorderWidth="1" Skin="Bootstrap" LocalizationPath="~/Translations/"002. GridLines="None" runat="server" AutoGenerateColumns="False" AllowMultiRowSelection="true" AllowMultiRowEdit="true">003. 004. <PagerStyle Visible="false"></PagerStyle>005. 006. <ClientSettings EnableRowHoverStyle="False" AllowKeyboardNavigation="True" ActiveRowIndex="-1" EnableAlternatingItems="False">007. <Selecting AllowRowSelect="True" UseClientSelectColumnOnly="True" />008. <Resizing AllowColumnResize="False" AllowResizeToFit="False" />009. <KeyboardNavigationSettings EnableKeyboardShortcuts="true" AllowSubmitOnEnter="false" AllowActiveRowCycle="true" />010. <DataBinding ShowEmptyRowsOnLoad="true"></DataBinding>011. <ClientEvents OnRowDblClick="activitek.ReservationPanelSummary.onSummaryRowDblClick"012. OnRowSelected="activitek.ReservationPanelSummary.onSummaryRowSelected"013. OnRowDeselected="activitek.ReservationPanelSummary.onSummaryRowDeselected" />014. </ClientSettings>015. 016. 017. <MasterTableView CommandItemDisplay="Top" TableLayout="Fixed" GroupLoadMode="Client" GridLines="None"018. EditMode="InPlace" DataKeyNames="ReservationScheduleID" ClientDataKeyNames="ReservationScheduleID"019. RetrieveNullAsDBNull="true">020. <PagerStyle PageSizeControlType="None" />021. 022. <ParentTableRelation>023. <telerik:GridRelationFields DetailKeyField="ParentReservationScheduleID" MasterKeyField="ReservationScheduleID" />024. </ParentTableRelation>025. 026. <CommandItemTemplate>027. <div>028. <telerik:RadToolBar ID="RadToolBarGridEdit" runat="server" Width="100%" Height="32px" OnClientButtonClicked="onPanelBarItemClicked">029. <Items>030. <telerik:RadToolBarButton Text="<%$ Resources:AdminLoc, btnEdit %>" ImageUrl="~/Web/Images/Icons/modifier.gif"031. Value="btnAdd" CommandName="EditSelected" ImagePosition="Left"032. Visible='<%# Not (RgPanelSummary.MasterTableView.IsItemInserted OrElse RgPanelSummary.EditIndexes.Count > 0) %>'>033. </telerik:RadToolBarButton>034. 035. <telerik:RadToolBarButton IsSeparator="true"036. Visible='<%# Not (RgPanelSummary.MasterTableView.IsItemInserted OrElse RgPanelSummary.EditIndexes.Count > 0) %>' />037. 038. <telerik:RadToolBarDropDown Text="<%$ Resources:AdminLoc, btnAdd %>" ImageUrl="~/Web/Images/Icons/ajouter.gif"039. Visible='<%# Not (RgPanelSummary.MasterTableView.IsItemInserted OrElse RgPanelSummary.EditIndexes.Count > 0) %>'>040. <Buttons>041. <telerik:RadToolBarButton Text="Ajouter un plateau" ImageUrl="~/Web/Images/Icons/ress_locaux.gif"042. Group="LocationResource" CheckOnClick="true" AllowSelfUnCheck="true"043. CommandName="AddResource" CommandArgument="location">044. </telerik:RadToolBarButton>045. <telerik:RadToolBarButton Text="Ajouter un équipement" ImageUrl="~/Web/Images/Icons/ress_equipement.gif"046. Group="EquipementResource" Value="equipment" CommandName="AddResource" CommandArgument="equipment">047. </telerik:RadToolBarButton>048. <telerik:RadToolBarButton Text="Ajouter une ressource humaine" ImageUrl="~/Web/Images/Icons/ress_humaine.gif"049. Group="HumanResource" CommandName="AddResource" CommandArgument="human">050. </telerik:RadToolBarButton>051. 052. <telerik:RadToolBarButton IsSeparator="true" Visible="<%# KeyValueTools.GetActivitekRepentignyDev %>"></telerik:RadToolBarButton>053. 054. <telerik:RadToolBarButton Text="Ajouter un équipement à la journée" ImageUrl="~/Web/Images/Icons/ress_equipement.gif"055. Group="DailyEquipment" CommandName="AddDailyResource" CommandArgument="DailyEquipment"056. Visible="<%# KeyValueTools.GetActivitekRepentignyDev %>">057. </telerik:RadToolBarButton>058. </Buttons>059. </telerik:RadToolBarDropDown>060. 061. </Items>062. </telerik:RadToolBar>063. </div>064. </CommandItemTemplate>065. 066. <%--Déclaration des colonnes pour l'entité PARENT --%>067. <Columns>068. <telerik:GridClientSelectColumn UniqueName="IsSelected" HeaderStyle-Width="28" ItemStyle-HorizontalAlign="Center" />069. 070. <telerik:GridBoundColumn UniqueName="ParentReservationScheduleID" DataField="ParentReservationScheduleID" Display="false" />071. <telerik:GridBoundColumn UniqueName="ReservationScheduleID" DataField="ReservationScheduleID" Display="false" />072. 073. <telerik:GridTemplateColumn UniqueName="ResourceName" DataField="ResourceName" HeaderText="<%$ Resources:AdminLoc,lblResource %>">074. <ItemStyle Width="355px" />075. <HeaderStyle Width="355px" />076. 077. <ItemTemplate>078. <%#DataBinder.Eval(Container.DataItem, "ResourceName")%>079. </ItemTemplate>080. 081. <EditItemTemplate>082. <telerik:RadComboBox Skin="Bootstrap" ID="radResourceCombo" runat="server" Width="340px" DropDownWidth="450px" Height="300"083. AutoPostBack="false" EnableLoadOnDemand="True" EnableScreenBoundaryDetection="true" EnableVirtualScrolling="true"084. ItemsPerRequest="10" OnItemsRequested="radResourceCombo_ItemsRequested" HighlightTemplatedItems="true"085. DataTextField="Text" DataValueField="Value" ExpandDirection="Down" OffsetX="0" OffsetY="0">086. <HeaderTemplate>087. <table id="tableResourceColumns" style="width: 95%">088. <tr>089. <th>090. <asp:Label ID="radTitleLN" runat="server"><%= LocalizationTools.RM.GetString("lblName") %></asp:Label>091. </th>092. </tr>093. </table>094. </HeaderTemplate>095. <ItemTemplate>096. <table style="width: 95%">097. <tr>098. <td style="width: 18px">099. <img src="<%# DataBinder.Eval(Container, "Attributes['typeImg']")%>"100. title="<%# DataBinder.Eval(Container, "Attributes['typeName']")%>" /></td>101. <td><%# DataBinder.Eval(Container, "Attributes['name']")%></td>102. </tr>103. </table>104. </ItemTemplate>105. </telerik:RadComboBox>106. 107. <asp:RequiredFieldValidator ID="CV_ResourceValidator" runat="server" ControlToValidate="radResourceCombo"108. ErrorMessage="<%$ Resources:AdminLoc, errResourceIsMandatory %>"109. Display="None">*</asp:RequiredFieldValidator>110. <asp:CustomValidator ID="CV_Schedule" runat="server" OnServerValidate="CV_ReservationSchedule_ServerValidate"111. Display="None">*</asp:CustomValidator>112. </EditItemTemplate>113. </telerik:GridTemplateColumn>114. 115. </Columns>116. 117. 118. <%--Déclaration des colonnes pour l'entité ENFANT --%>119. <DetailTables>120. <telerik:GridTableView DataKeyNames="ReservationScheduleID" Name="ChildReservationSchedule" Width="100%" HierarchyLoadMode="ServerOnDemand"121. ClientDataKeyNames="ReservationScheduleID" ShowHeader="false" ShowHeadersWhenNoRecords="false" CommandItemDisplay="Top"122. HorizontalAlign="Right" TableLayout="Fixed" AllowPaging="false" EditMode="InPlace" GroupLoadMode="Client" GridLines="None">123. <CommandItemTemplate>124. <div>125. <telerik:RadToolBar ID="RadToolBarGridChildEdit" runat="server" Width="100%" Height="32px"126. OnClientButtonClicked="onPanelBarItemClicked">127. <Items>128. <telerik:RadToolBarButton Text="<%$ Resources:AdminLoc, btnEdit %>" ImageUrl="~/Web/Images/Icons/modifier.gif"129. Value="btnAdd" CommandName="EditSelected" ImagePosition="Left"130. Visible='<%# Not (RgPanelSummary.MasterTableView.IsItemInserted OrElse RgPanelSummary.EditIndexes.Count > 0) %>'>131. </telerik:RadToolBarButton>132. 133. <telerik:RadToolBarDropDown Text="<%$ Resources:AdminLoc, btnAdd %>" ImageUrl="~/Web/Images/Icons/ajouter.gif"134. Visible='<%# Not (RgPanelSummary.MasterTableView.IsItemInserted OrElse RgPanelSummary.EditIndexes.Count > 0) %>'>135. <Buttons>136. <%--TODO: Traduction--%>137. <telerik:RadToolBarButton Text="Ajouter un équipement" ImageUrl="~/Web/Images/Icons/ress_equipement.gif"138. Group="EquipementResource" Value="equipment" CommandName="InitInsert" CommandArgument="equipment">139. </telerik:RadToolBarButton>140. <telerik:RadToolBarButton Text="Ajouter une ressource humaine" ImageUrl="~/Web/Images/Icons/ress_humaine.gif"141. Group="HumanResource" CommandName="AddChildResource" CommandArgument="human">142. </telerik:RadToolBarButton>143. 144. <telerik:RadToolBarButton IsSeparator="true" Visible="<%# KeyValueTools.GetActivitekRepentignyDev %>"></telerik:RadToolBarButton>145. 146. <telerik:RadToolBarButton Text="Ajouter un équipement à la journée" ImageUrl="~/Web/Images/Icons/ress_equipement.gif"147. Group="DailyEquipment" CommandName="AddChildDailyResource" CommandArgument="DailyEquipment"148. Visible="<%# KeyValueTools.GetActivitekRepentignyDev %>">149. </telerik:RadToolBarButton>150. </Buttons>151. </telerik:RadToolBarDropDown>152. 153. </Items>154. </telerik:RadToolBar>155. </div>156. </CommandItemTemplate>157. 158. <Columns>159. <telerik:GridClientSelectColumn UniqueName="IsSelected" HeaderStyle-Width="28" ItemStyle-Width="28" ItemStyle-HorizontalAlign="Center" />160. <telerik:GridBoundColumn UniqueName="ParentReservationScheduleID" DataField="ParentReservationScheduleID" Display="false" />161. <telerik:GridBoundColumn UniqueName="ReservationScheduleID" DataField="ReservationScheduleID" Display="false" />162. 163. <telerik:GridTemplateColumn UniqueName="ResourceName" DataField="ResourceName" HeaderText="<%$ Resources:AdminLoc,lblResource %>">164. <ItemStyle Width="355" />165. <HeaderStyle Width="355" />166. 167. <ItemTemplate>168. <%#DataBinder.Eval(Container.DataItem, "ResourceName")%>169. </ItemTemplate>170. 171. <EditItemTemplate>172. <telerik:RadComboBox Skin="Bootstrap" ID="radResourceCombo" runat="server" Width="340px" DropDownWidth="450px" Height="300"173. AutoPostBack="false" EnableLoadOnDemand="True" EnableScreenBoundaryDetection="true" EnableVirtualScrolling="true"174. ItemsPerRequest="10" OnItemsRequested="radResourceCombo_ItemsRequested" HighlightTemplatedItems="true"175. DataTextField="Text" DataValueField="Value" ExpandDirection="Down" OffsetX="0" OffsetY="0">176. <HeaderTemplate>177. <table id="tableResourceColumns" style="width: 95%">178. <tr>179. <th>180. <asp:Label ID="radTitleLN" runat="server"><%= LocalizationTools.RM.GetString("lblName") %></asp:Label>181. </th>182. </tr>183. </table>184. </HeaderTemplate>185. <ItemTemplate>186. <table style="width: 95%">187. <tr>188. <td style="width: 18px">189. <img src="<%# DataBinder.Eval(Container, "Attributes['typeImg']")%>"190. title="<%# DataBinder.Eval(Container, "Attributes['typeName']")%>" /></td>191. <td><%# DataBinder.Eval(Container, "Attributes['name']")%></td>192. </tr>193. </table>194. </ItemTemplate>195. </telerik:RadComboBox>196. 197. <asp:RequiredFieldValidator ID="CV_ResourceValidator" runat="server" ControlToValidate="radResourceCombo"198. ErrorMessage="<%$ Resources:AdminLoc, errResourceIsMandatory %>" Display="None">*</asp:RequiredFieldValidator>199. <asp:CustomValidator ID="CV_Schedule" runat="server" OnServerValidate="CV_ReservationSchedule_ServerValidate" Display="None">*</asp:CustomValidator>200. </EditItemTemplate>201. </telerik:GridTemplateColumn>202. 203. </Columns>204. </telerik:GridTableView>205. </DetailTables>206. </MasterTableView>207. 208.</telerik:RadGrid>