HI,
I have a hierarchical RadTreeList using TreeListTemplateColumns - in one of these template columns I have a label (hidden) and a RadGrid, the purpose of the Label is to make available an ID to use to bind the RadGrid.
If I try to put this ID into either the ParentDataKeyNames, DataKeyNames or both the treelist does not display, this is why it is in a label.
I am trying to use the OnNeedDataSource Event of the RadGrid to bind the data to it, however I cannot find / get the value from the label.
I have tried TreeListDataItem Item = (TreeListDataItem)(grid.NamingContainer); to reference the column but I just cant seem to get it right.
01.<telerik:TreeListTemplateColumn UniqueName="Firmware" HeaderText="Firmware">02. <ItemTemplate>03. <asp:Label ID="lblPartNumberDetailsId" runat="server" Text='<%#Eval("PartNumberDetails_Id") %>' Visible="false" />04. 05. <telerik:RadGrid ID="RGFirmware" runat="server" Visible="true" AutoGenerateColumns="false" ShowHeader="false" ShowFooter="false"06. MasterTableView-EditMode="InPlace" AllowAutomaticInserts="true" OnNeedDataSource="RGFirmware_NeedDataSource" OnInsertCommand="RGFirmware_InsertCommand">07. <MasterTableView CommandItemDisplay="bottom">08. <CommandItemSettings AddNewRecordText="Add Firmware" ShowAddNewRecordButton="false" ShowRefreshButton="false" />09. <CommandItemTemplate>10. <asp:LinkButton ID="AddFirmware" runat="server" Text="Add Firmware" CommandName="InitInsert" />11. </CommandItemTemplate>12. <NoRecordsTemplate></NoRecordsTemplate>13. <Columns>14. <telerik:GridTemplateColumn UniqueName="FirmWare">15. <ItemTemplate>16. <asp:TextBox ID="txtFirmware" runat="server" Text='<%#Eval("FirmWare") %>' />17. 18. </ItemTemplate>19. <EditItemTemplate>20. <asp:TextBox ID="txtFirmware" runat="server" Text='<%#Eval("FirmWare") %>' />21. 22. </EditItemTemplate>23. </telerik:GridTemplateColumn>24. </Columns>25. </MasterTableView>26. </telerik:RadGrid> 27. </ItemTemplate>28.</telerik:TreeListTemplateColumn>
01.protected void RGFirmware_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)02.{03. RadGrid grid = sender as RadGrid;04. TreeListDataItem item = (TreeListDataItem)(grid.NamingContainer);05. string Value = ((Label)item["PartNumberDetails_Id"].FindControl("lblPartNumberDetailsId")).Text.ToString();06. 07. if (!String.IsNullOrEmpty(Value))08. {09. DataTable objDT = new DataTable("TempTable");10. List<SqlParameter> parameters = new List<SqlParameter>();11. parameters.Add(new SqlParameter("@PartNumberDetailsId", Value));12. objDT = DataAccess.BuildDataTable("SelectFirmwareForPart", parameters);13. grid.DataSource = objDT;14. }15. else16. {17. grid.Visible = false;18. }19.}
Any help is much appreciated
Chris