5 Answers, 1 is accepted
0

Princy
Top achievements
Rank 2
answered on 18 Mar 2009, 10:24 AM
Hello Giridhar,
You can try out the following code to create a NestedViewTemplate dynamically in the grid:
cs:
Thanks
Princy.
You can try out the following code to create a NestedViewTemplate dynamically in the grid:
cs:
protected void Page_Init(object sender, EventArgs e) |
{ |
RadGrid grid = new RadGrid(); |
grid.AutoGenerateColumns = false; |
grid.DataSourceID = "SqlDataSource1"; |
grid.MasterTableView.NestedViewTemplate = new MyTemplate(); |
GridBoundColumn boundColumn1 = new GridBoundColumn(); |
boundColumn1.DataField = "ContactName"; |
boundColumn1.UniqueName = "ConactName"; |
boundColumn1.HeaderText = "Bound Column"; |
grid.MasterTableView.Columns.Add(boundColumn1); |
grid.AllowPaging = true; |
grid.PageSize = 3; |
PlaceHolder1.Controls.Add(grid); |
} |
private class MyTemplate : ITemplate |
{ |
protected TextBox textBox;// to add a TextBox control in the NestedViewTemplate |
public void InstantiateIn(System.Web.UI.Control container) |
{ |
textBox = new TextBox(); |
textBox.ID = "NestedTextBox"; |
container.Controls.Add(textBox); |
} |
} |
Thanks
Princy.
0

giridhar
Top achievements
Rank 1
answered on 18 Mar 2009, 11:10 AM
Thanks for the reply Princy, However I looking at following information. Do let me know the possibility.
I have written .aspx with a grid and NestedViewTemplate in grid.
Now I want to retrieve this NestedViewTemplate and add some controls into this template on code behind(basically page_init). So that it works for my requirement.
Explanation with code. Have look at code below.
If you have a look you have two grids in the NestedViewTemplate. I should be able to add additional columns to these grids(one of it is self refrential grid.) in NestedViewTemplate on the code behind.
I was able to add additional columns to the Main Grid(searchGrid) on page_init. Do let me know how to add additional columns to grids in NestedViewTemplate(nestedMatchedGrid, nestedSelfReferentialGrid).
Please let me know the possible work around. ANy help would be a great favour.
Thanks and regards,
Giridhar.
I have written .aspx with a grid and NestedViewTemplate in grid.
Now I want to retrieve this NestedViewTemplate and add some controls into this template on code behind(basically page_init). So that it works for my requirement.
Explanation with code. Have look at code below.
<telerik:RadGrid ID="searchGrid" runat="server" Skin="Vista" |
OnNeedDataSource="searchGrid_NeedDataSourceAdvancedSearch" OnColumnCreated="searchGrid_ColumnCreated" |
OnItemDataBound="searchGrid_ItemDataBound" OnItemCommand="searchGrid_ItemCommand" |
AutoGenerateColumns="false"> |
<MasterTableView> |
<NestedViewTemplate> |
<telerik:RadGrid ID="nestedMatchedGrid" runat="server"> |
<MasterTableView> |
<Columns> |
<telerik:GridTemplateColumn UniqueName="ActivityID" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="activityId" runat="server" Text='<%#Eval("ItemPK")%>'></asp:Label> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn UniqueName="ActivityName" HeaderText="L_Name"> |
<ItemTemplate> |
<asp:Label ID="activityName" runat="server" Text='<%#Eval("ItemName")%>'></asp:Label> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
<telerik:RadGrid ID="nestedSelfReferentialGrid" runat="server"> |
<MasterTableView> |
<Columns> |
<telerik:GridTemplateColumn UniqueName="ActivityID" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="activityId" runat="server" Text='<%#Eval("ItemPK")%>'></asp:Label> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn UniqueName="ActivityName" HeaderText="L_Name"> |
<ItemTemplate> |
<asp:Label ID="activityName" runat="server" Text='<%#Eval("ItemName")%>'></asp:Label> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
</NestedViewTemplate> |
<Columns> |
<telerik:GridTemplateColumn UniqueName="ActivityID" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="activityId" runat="server" Text='<%#Eval("ItemPK")%>'></asp:Label> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn UniqueName="ActivityName" HeaderText="L_Name"> |
<ItemTemplate> |
<asp:Label ID="activityName" runat="server" Text='<%#Eval("ItemName")%>'></asp:Label> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
</Columns> |
</MasterTableView> |
</telerik:RadGrid> |
I was able to add additional columns to the Main Grid(searchGrid) on page_init. Do let me know how to add additional columns to grids in NestedViewTemplate(nestedMatchedGrid, nestedSelfReferentialGrid).
Please let me know the possible work around. ANy help would be a great favour.
Thanks and regards,
Giridhar.
0

Princy
Top achievements
Rank 2
answered on 19 Mar 2009, 07:09 AM
Hi Giridhar,
You cannot mix up dynamic column creation and declarative column creation. "RadGrid does not support mixing declarative grid columns with grid columns added dynamically at runtime. You should either create all the columns in the grid programmatically, or else define them all in the ASPX file". For information on this you can take a look at the following document:
Programmatic creation
-Princy.
You cannot mix up dynamic column creation and declarative column creation. "RadGrid does not support mixing declarative grid columns with grid columns added dynamically at runtime. You should either create all the columns in the grid programmatically, or else define them all in the ASPX file". For information on this you can take a look at the following document:
Programmatic creation
-Princy.
0

giridhar
Top achievements
Rank 1
answered on 30 Mar 2009, 08:45 AM
Hi Princy,
As said before, I have RadGrid inside the NestedViewTemplate. As per your post If I instantiate NestedViewTemplate every time when I expand the row, it would create a new grid inside the NestedViewTemplate and when there are post backs related to this grid happen since it is new grid being created all the time It would lose the state.(I have self referential grid in nested view template, there would click events and expand events to be handled even in inner grids.) How can I handle the same. Please do explain with a sample code piece.
As said before, I have RadGrid inside the NestedViewTemplate. As per your post If I instantiate NestedViewTemplate every time when I expand the row, it would create a new grid inside the NestedViewTemplate and when there are post backs related to this grid happen since it is new grid being created all the time It would lose the state.(I have self referential grid in nested view template, there would click events and expand events to be handled even in inner grids.) How can I handle the same. Please do explain with a sample code piece.
0

Manuel Ortiz
Top achievements
Rank 1
answered on 06 Apr 2010, 07:36 AM
Hi Princy, in the first answer you gave above, How can I access the Template's textbox so that I can alter its text when the row is expanded??
Thanx,
Manuel
Thanx,
Manuel