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

Find Control Inside of the FormTemplate On button click.

2 Answers 451 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Orest
Top achievements
Rank 1
Orest asked on 27 Jul 2009, 02:46 PM
Guys,
Can you please let me know what is the best way to doing this.  I have a RadGrid
That uses <FormTemplate> for editing. Inside of that I have another RadGrid and "Save" Button. How can I get an access to a grid that in enbaded inside of the FormTemplate

in code behind, in  btnSaveBitData_Click how can I find gvBits. I can do something like
gvBits = (RadGrid)gvPolicyData.MasterTableView.Items[editIndex].EditFormItem.EditFormCell.FindControl("gvPolicyBits"); 
but it got to be a better way.
 
    <telerik:RadGrid ID="gvMaster" runat="server" AutoGenerateColumns="false">  
        <MasterTableView DataKeyNames="SomeId" EditMode="EditForms">  
            <Columns> 
                <telerik:GridTemplateColumn HeaderText="Actions" ItemStyle-Width="150px">  
                    <ItemTemplate> 
                        <div class="actions_menu" style="width: 150px">  
                            <asp:LinkButton ID="lnkSet" runat="server" CausesValidation="false" CommandName="edit" 
                                CssClass="float bits" Text="Set "></asp:LinkButton> 
                            <br style="clear: left" /> 
                        </div> 
                    </ItemTemplate> 
                    <ItemStyle Width="150px" /> 
                </telerik:GridTemplateColumn> 
            </Columns> 
            <EditFormSettings EditFormType="Template">  
                <FormTemplate> 
                    <div style="padding: 10px; background-color: #F8F8FF">  
                        <telerik:RadGrid runat="server" ID="gvBits" AutoGenerateColumns="false" Skin="Office2007" 
                            OnNeedDataSource="gvBits_NeedDataSource">  
                            <MasterTableView> 
                                <Columns> 
                                    <telerik:GridBoundColumn> 
                                    </telerik:GridBoundColumn> 
                                </Columns> 
                            </MasterTableView> 
                        </telerik:RadGrid> 
                        <br /> 
                        <asp:Button ID="btnSaveBitData" runat="server" Text="Save" CssClass="action_button" 
                            OnClick="btnSaveBitData_Click" />&nbsp;&nbsp;  
                    </div> 
                </FormTemplate> 
            </EditFormSettings> 
        </MasterTableView> 
    </telerik:RadGrid> 

 

 

2 Answers, 1 is accepted

Sort by
0
Accepted
Sebastian
Telerik team
answered on 27 Jul 2009, 03:00 PM
Hello Orest,

It seems that you use one valid approach to reference the nested grid inside the FormTemplate custom edit form of the outer grid.

An alternative solution would be to get reference to the respective GridEditableItem instance through the NamingContainer and call the FindControl(controlId) method for it. See the implementation from this online example for more details.

Best regards,
Sebastian
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
0
Orest
Top achievements
Rank 1
answered on 27 Jul 2009, 03:15 PM

Thank you! That’s exactly what I was looking for


        GridEditableItem editedItem = (sender as Button ).NamingContainer as GridEditableItem;  
        gvBits = (RadGrid)editedItem.FindControl("gvBits"); 
Tags
Grid
Asked by
Orest
Top achievements
Rank 1
Answers by
Sebastian
Telerik team
Orest
Top achievements
Rank 1
Share this question
or