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

Item Databound in detail table

1 Answer 429 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ramakrishna
Top achievements
Rank 1
Ramakrishna asked on 01 Jul 2011, 09:49 AM
<telerik:RadGrid ID="rdgrdChargeType" runat="server" AutoGenerateColumns="false"
            OnPreRender="rdgrdChargeType_PreRender" OnDetailTableDataBind="rdgrdChargeType_DetailTableDataBind"
            Width="999px" AllowSorting="True" Skin="Office2007" OnItemDataBound="rdgrdChargeType_ItemDataBound"
            OnNeedDataSource="rdgrdChargeType_NeedDataSource">
            <MasterTableView DataKeyNames="ID" Width="100%" EditMode="InPlace" HierarchyLoadMode="Client"
                HierarchyDefaultExpanded="false" Name="Master">
                <DetailTables>
                    <telerik:GridTableView AutoGenerateColumns="false" Width="100%" Name="Detail">
                        <ParentTableRelation>
                            <telerik:GridRelationFields DetailKeyField="ID" MasterKeyField="ID" />
                        </ParentTableRelation>
                        <Columns>
                            <telerik:GridTemplateColumn UniqueName="Auxillarymeterdatatype" HeaderText="Auxilliary Meter Data Name"
                                HeaderStyle-Width="50px">
                                <ItemTemplate>
                                    <telerik:RadComboBox ID="rdCmbBxAuxillarymeterdatatype" runat="server">
                                    </telerik:RadComboBox>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn UniqueName="Values" HeaderText="Values" HeaderStyle-Width="50px">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtValue" runat="server" />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn UniqueName="Units" HeaderText="Units" HeaderStyle-Width="50px">
                                <ItemTemplate>
                                    <telerik:RadComboBox ID="rdCmbBxUnits" runat="server">
                                    </telerik:RadComboBox>
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                            <telerik:GridTemplateColumn UniqueName="Comments" HeaderText="Comments" HeaderStyle-Width="50px">
                                <ItemTemplate>
                                    <asp:TextBox ID="txtComments" runat="server" />
                                </ItemTemplate>
                            </telerik:GridTemplateColumn>
                        </Columns>
                        <NoRecordsTemplate>
                            <div style="text-align: center">
                                No records to display.
                            </div>
                        </NoRecordsTemplate>
                    </telerik:GridTableView>
                </DetailTables>
                <Columns>
                    <telerik:GridTemplateColumn UniqueName="ChargeType" HeaderText="Meter Data Type"
                        HeaderStyle-Width="100px">
                        <ItemTemplate>
                            <telerik:RadComboBox ID="rdCmbBxChargeType" AutoPostBack="true" runat="server" Width="100px"
                                OnSelectedIndexChanged="rdCmbBxChargeType_SelectedIndexChanged">
                            </telerik:RadComboBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Startdate" HeaderText="Start Date" HeaderStyle-Width="100px">
                        <ItemTemplate>
                            <telerik:RadDatePicker ID="radFromDate" runat="server" Skin="Office2007" SelectedDate='<%# Eval("StartDate") %>'
                                SharedCalendarID="sharedCalendar" Width="100px" DateInput-DateFormat="MMM dd,yyyy" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Enddate" HeaderText="End Date" HeaderStyle-Width="100px">
                        <ItemTemplate>
                            <telerik:RadDatePicker ID="radToDate" runat="server" Skin="Office2007" SelectedDate='<%# Eval("EndDate") %>'
                                SharedCalendarID="sharedCalendar" Width="100px" DateInput-DateFormat="MMM dd,yyyy" />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Days" HeaderText="Days" HeaderStyle-Width="40px">
                        <ItemTemplate>
                            <asp:TextBox ID="txtDays" runat="server" Text='<%# Eval("Days") %>' Width="40px"></asp:TextBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Value" HeaderText="Value" HeaderStyle-Width="40px">
                        <ItemTemplate>
                            <asp:TextBox ID="txtValue" runat="server" Text='<%# Eval("Value") %>' Width="40px"></asp:TextBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Units" HeaderText="Units" HeaderStyle-Width="100px">
                        <ItemTemplate>
                            <telerik:RadComboBox ID="rdMeterDataUnits" runat="server" Width="100px">
                            </telerik:RadComboBox>
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Estimated" HeaderText="Estimated(Read)" HeaderStyle-Width="70px">
                        <ItemTemplate>
                            <asp:CheckBox ID="chkEstimated" runat="server" Checked='<%# Eval("Estimated") == null ? false : Eval("Estimated") %>'
                                Width="30px" />
                        </ItemTemplate>
                        <ItemStyle HorizontalAlign="Center" />
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn UniqueName="Comments" HeaderText="Comments">
                        <ItemTemplate>
                            <asp:TextBox ID="txtComments" runat="server" Width="100%" Text='<%# Eval("Comments") %>' />
                        </ItemTemplate>
                    </telerik:GridTemplateColumn>
                </Columns>
            </MasterTableView>
            <ClientSettings EnableRowHoverStyle="true">
                <ClientEvents />
            </ClientSettings>
            <HeaderStyle HorizontalAlign="Center" />
        </telerik:RadGrid>
this code is working fine for master table view databound.
i have one event for binding detail table in that i added individual data source for each row detail table bound

here i have a problem in detail table i have radcombobox in item template it need to bind aftercalling need
data source in detail table. i written code in itemdatabound event for mastertable view as follows

if ((e.Item is GridDataItem) && (e.Item.OwnerTableView.Name == "Detail"))
       {
            GridDataItem item = (GridDataItem)e.Item;
item.findcontrol("<control id of any detail table example radcombox id in detail table>")//returns null
      }
but this code wont work for me. i am not able to find  control over there.
can any one suggest code for me to identify detail table controls in detail table item databound event.

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 01 Jul 2011, 10:19 AM
Hello Ramakrishna,

Try the following code snippet in ItemDataBound to access the ComboBox in TemplateColumn.

C#:
protected void RadGrid2_ItemDataBound(object sender, GridItemEventArgs e)
{
        if (e.Item is GridDataItem && e.Item.OwnerTableView.Name == "Detail")
        {
            GridDataItem item = (GridDataItem)e.Item;           
            RadComboBox combo = (RadComboBox)item.FindControl("rdCmbBxAuxillarymeterdatatype");          
        }
}

Thanks,
Shinu.
Tags
Grid
Asked by
Ramakrishna
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or