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

Rad Grid inside Radgrid's column

1 Answer 184 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Joel
Top achievements
Rank 1
Joel asked on 19 Jan 2012, 04:47 PM
This is my scenario I have a grid that within one column I added a second grid So far i have populated both of them and the editing in place is working awesome for both grids when performing Insert and Delete actions.

This is my Code (aspx file)

<telerik:RadGrid runat="server" ID="gv_EmployeesObjectives" Width="100%" Font-Names="Arial" Font-Size="12px" Skin="Office2007"
                        AutoGenerateColumns="false"
                        OnItemCreated="gv_EmployeesObjectives_ItemCreated" OnItemDataBound="gv_EmployeesObjectives_ItemDataBound"
                    >
                        <MasterTableView Name="gv_Objectives" DataKeyNames="ID">
                            <Columns>
                                <telerik:GridEditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit" HeaderStyle-Width="90px" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center"></telerik:GridEditCommandColumn>
                                <telerik:GridTemplateColumn HeaderStyle-Width="150px">
                                    <HeaderTemplate><asp:Label runat="server" ID="lbl_01" Text="Copy Data from Week"></asp:Label></HeaderTemplate>
                                    <ItemTemplate>
                                        <telerik:RadComboBox ID="copyDataDDL" runat="server" AutoPostBack="true" Height="100px" OnSelectedIndexChanged="copyDataDDL_SelectdIndexChanged"></telerik:RadComboBox>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                                <telerik:GridBoundColumn UniqueName="FY" SortExpression="FY" HeaderText="FY" HeaderButtonType="TextButton" DataField="FY"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="FiscalWeek" DataField="FiscalWeek" HeaderText="Week"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjStopBys" DataField="ObjStopBys" HeaderText="# of Stop Bys" Visible="false"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjStopByContacts" DataField="ObjStopByContacts" HeaderText="# of Contacts from Stop Bys" Visible="false"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjAppels" DataField="ObjAppels" HeaderText="# of<br />Calls"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjContacts" DataField="ObjContacts" HeaderText="# of<br />Contacts"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="Objr_v" DataField="Objr_v" HeaderText="# of<br />Appts."></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjPres" DataField="ObjPres" HeaderText="# of<br />Pres."></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjVentes" DataField="ObjVentes" HeaderText="# of Contracts" Visible="false"></telerik:GridBoundColumn>
                                <telerik:GridBoundColumn UniqueName="ObjRVSP" DataField="ObjRVSP" HeaderText="ANW"></telerik:GridBoundColumn>
                                <telerik:GridTemplateColumn UniqueName="ProductsList">
                                    <HeaderTemplate></HeaderTemplate>
                                    <ItemTemplate>
                                        <telerik:RadGrid runat="server" ID="gv_ProductsList" AutoGenerateColumns="false" Skin="Office2007" ShowHeader="false"
                                            AllowAutomaticDeletes="false" AllowAutomaticInserts="false" AllowAutomaticUpdates="false"
                                            OnNeedDataSource="gv_ProductsList_NeedDataSource" OnItemCommand="gv_ProductsList_ItemCommand"
                                            OnItemCreated="gv_ProductsList_ItemCreated" OnInsertCommand="gv_ProductsList_InsertCommand"
                                            OnItemDataBound="gv_ProductsList_ItemDataBound"
                                        >
                                            <MasterTableView Name="gv_Products" CommandItemSettings-ShowRefreshButton="false" CommandItemDisplay="Top" DataKeyNames="ID" EditMode="InPlace">
                                                <Columns>
                                                    <telerik:GridEditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></telerik:GridEditCommandColumn>
                                                    <telerik:GridTemplateColumn UniqueName="EmployeesObjectivesID">
                                                        <ItemTemplate></ItemTemplate>
                                                        <EditItemTemplate><asp:HiddenField runat="server" ID="hfEmployeesObjectivesID" Value='<%# Eval("EmployeesObjectivesID") %>' />
                                                            <asp:Label runat="server" ID="lblID" text='<%# Eval("ID") %>'></asp:Label>
                                                        </EditItemTemplate>
                                                    </telerik:GridTemplateColumn>
                                                    <telerik:GridTemplateColumn UniqueName="ProductID">
                                                        <ItemTemplate><asp:Label runat="server" ID="lblProductDescription" Text='<%# Eval("Product") %>'></asp:Label></ItemTemplate>
                                                        <EditItemTemplate><telerik:RadComboBox runat="server" ID="rcb_Products" DataTextField="Product" DataValueField="ProductID" EmptyMessage="Select" ></telerik:RadComboBox></EditItemTemplate>
                                                    </telerik:GridTemplateColumn>
                                                    <telerik:GridTemplateColumn UniqueName="ObjTotal">
                                                        <ItemTemplate><asp:Label runat="server" ID="lblObjTotal" Text='<%# Eval("ObjTotal") %>'></asp:Label></ItemTemplate>
                                                        <EditItemTemplate><telerik:RadTextBox runat="server" ID="txtObjTotal" Text='<%# Eval("ObjTotal") %>'></telerik:RadTextBox></EditItemTemplate>
                                                    </telerik:GridTemplateColumn>
                                                </Columns>
                                            </MasterTableView>
                                        </telerik:RadGrid>
                                    </ItemTemplate>
                                </telerik:GridTemplateColumn>
                            </Columns>
                        </MasterTableView>
                    </telerik:RadGrid>



Everything works perfect, the problem I'm facing is when editing the inner grid....Which is the best method to be able to access the controls within the editTemplate and populate the drop down list i have there.
So far I've tried inner grid's methods OnItemDataBound, OnItemCreated; and it seems the EditTemplate controls aren't there I can only get the ones inside the item template.

any ideas??

Thks in advance...

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 20 Jan 2012, 04:51 AM
Hello Joel,

Try the following code.
C#:
protected void grid2_ItemDataBound(object sender, GridItemEventArgs e)
{
 if (e.Item is GridEditableItem && e.Item.IsInEditMode)
 {
    GridEditableItem item = (GridEditableItem)e.Item;
    RadComboBox combo = (RadComboBox)item.FindControl("rcb_Products");
 }
}

-Shinu.
Tags
Grid
Asked by
Joel
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or