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

RadGrid NestedViewTemplate

1 Answer 157 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mark Henke
Top achievements
Rank 1
Mark Henke asked on 14 Apr 2011, 09:25 PM

I have a 2 level heirchy in radgrid.
When I select the Second Detail Table i want to dynamically render content in the

 

 

NestedViewTemplate.

What is the best way or event Iam using ItemCommand:

 

 

<

 

 

telerik:RadGrid ID="RadGridTariffSericeLevel" runat="server" DataSourceID="ObjectDataSourceTariffLanesByServiceLevel"

 

 

 

 

 

 

 

 

 

 

EnableLinqExpressions="false" Width="950px" Skin="Vista" GridLines="Horizontal"

 

 

 

 

AllowPaging="True" AutoGenerateColumns="false" Hei

 

 

 

 

 

 

 

 

 

 

OnItemCreated="RadGridTariffSericeLevel_ItemCreated"

 

 

 

 

OnItemCommand="RadGridTariffSericeLevel_ItemCommand"

 

 

 

 

onitemdatabound="RadGridTariffSericeLevel_ItemDataBound"

 

 

 

 

ondatabound="RadGridTariffSericeLevel_DataBound"

 

 

 

 

onselectedindexchanged="RadGridTariffSericeLevel_SelectedIndexChanged"

 

 

 

 

onneeddatasource="RadGridTariffSericeLevel_NeedDataSource" >

 

 

 

 

 

 

 

 

 

 

<ClientSettings>

 

 

 

 

 

 

 

 

 

 

<Selecting AllowRowSelect="True"></Selecting>

 

 

 

 

 

 

 

 

 

 

</ClientSettings>

 

 

 

 

 

 

 

 

 

 

<MasterTableView DataKeyNames="TariffDataID, ServiceLevelID" ShowFooter="true" DataSourceID="ObjectDataSourceTariffLanesByServiceLevel"

 

 

 

 

 

 

 

 

 

 

ItemStyle-BackColor="#eff4f8" AlternatingItemStyle-BackColor="#eff4f8" FooterStyle-ForeColor="Red" Font-Size="Large">

 

 

 

 

 

 

 

 

 

 

<Columns>

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="ServiceLevelID" HeaderText="Service" HeaderStyle-Width="75px" />

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="Lanes" HeaderText="Lanes" HeaderStyle-Width="75px"

 

 

 

 

 

 

 

 

 

 

Aggregate="Sum" FooterAggregateFormatString="{0:n0}" />

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="ShipmentsPerMonth" HeaderText="Pros" HeaderStyle-Width="75px"

 

 

 

 

 

 

 

 

 

 

Aggregate="Sum" FooterAggregateFormatString="{0:n0}" />

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="TotalCost" HeaderText="Total Cost" DataFormatString="{0:c2}"

 

 

 

 

 

 

 

 

 

 

Aggregate="Sum" FooterAggregateFormatString="{0:c2}" />

 

 

 

 

 

 

 

 

 

 

</Columns>

 

 

 

 

 

 

 

 

 

 

<DetailTables>

 

 

 

 

 

 

 

 

 

 

<telerik:GridTableView runat="server" Name="GridTableViewOrigin" DataSourceID="ObjectDataSourceTariffLanesByServiceLevelOrigin"

 

 

 

 

 

 

 

 

 

 

DataKeyNames="TariffDataID, ServiceLevelID, OriginServicePointID" AutoGenerateColumns="false" Width="100%" HierarchyLoadMode="ServerBind">

 

 

 

 

 

 

 

 

 

 

<Columns>

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="OriginServicePointID" HeaderText="Origin" HeaderStyle-Width="75px" />

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="Lanes" HeaderText="Lanes" HeaderStyle-Width="75px" />

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="ShipmentsPerMonth" HeaderText="Pros" HeaderStyle-Width="75px" />

 

 

 

 

 

 

 

 

 

 

<telerik:GridBoundColumn DataField="TotalCost" HeaderText="Total Cost" DataFormatString="{0:c2}" />

 

 

 

 

 

 

 

 

 

 

</Columns>

 

 

 

 

 

 

 

 

 

 

<ParentTableRelation>

 

 

 

 

 

 

 

 

 

 

<telerik:GridRelationFields DetailKeyField="OriginServicePointID" MasterKeyField="ServiceLevelID" />

 

 

 

 

 

 

 

 

 

 

</ParentTableRelation>

 

 

 

 

 

 

 

 

 

 

<NestedViewTemplate>

 

 

 

 

 

 

 

 

 

 

<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

 

 

 

 

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Clicked" CommandName="Button1" />

 

 

 

 

 

 

 

 

 

 

</NestedViewTemplate>

 

 

 

 

 

 

 

 

 

 

</telerik:GridTableView>

 

 

 

 

 

 

 

 

 

 

</DetailTables>

 

 

 

 

 

 

 

 

 

 

</MasterTableView>

 

 

 

 

 

 

 

 

 

 

</telerik:RadGrid>

 

 

 

protected void RadGridTariffSericeLevel_ItemCommand(object source, GridCommandEventArgs e)

 

 

{

 

 

 

if (e.CommandName == "ExpandCollapse" && e.Item.OwnerTableView.Name == "GridTableViewOrigin")

 

 

{

 

 

 

GridDataItem OriginItem = (GridDataItem)e.Item;

 

 

 

 

GridNestedViewItem NestedViewItem = (GridNestedViewItem)OriginItem.ChildItem;

 

 

 

 

if (NestedViewItem != null)

 

 

{

 

 

 

PlaceHolder PlaceHolder1 = (PlaceHolder)NestedViewItem.FindControl("PlaceHolder1");

 

 

PlaceHolder1.Controls.Add(GetTable());

 

 

 

Label Label = (Label)NestedViewItem.FindControl("Label1");

 

 

}

 

}

 

}

1 Answer, 1 is accepted

Sort by
0
Tsvetoslav
Telerik team
answered on 20 Apr 2011, 11:38 AM
Hello Mark,

RadGrid's NestedViewTemplate property is  an ITemplate one and so any dynamic content should be added through the implementation of a custom ITemplate object which should be assigned to the NestedViewTemplate property of the MasterTableView.  

The following links should provide you with enough guidance on how to achieve this requirement:
http://www.telerik.com/community/forums/aspnet-ajax/grid/how-to-add-nestedviewtemplate-to-the-grid-on-page-init-in-codebehind.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.itemplate.instantiatein.aspx

Hope it helps.

Regards,
Tsvetoslav
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

Tags
Grid
Asked by
Mark Henke
Top achievements
Rank 1
Answers by
Tsvetoslav
Telerik team
Share this question
or