I have two gridviews - one nested in the other - and I am trying to set the datasource of the child grid programmaticly, but am not sure how to reference it.
object dataKeyValue = ((source as RadGrid).NamingContainer as DataItem).GetDataKeyValue("ID");
//use the dataKeyValue to fetch the correct Employee object
You can find any control inside a NestedViewTemplate
by getting the grid's GridNestedViewItem
. Here is how you reference the child grid programmatically:
var radGridDetails =
((RadGridResults.MasterTableView.Items[0].ChildItem as GridNestedViewItem)
.FindControl("RadGridDetails") as RadGrid);
I would still databind the grid as @Servy demonstrated, but for referencing the grid like you asked, the above code should work.
Just databind the collection directly:
<telerik:RadGrid ID="RadGridDetails" runat="server" AutoGenerateColumns="true"
DataSource='<%# Eval("myList") %>'>
</telerik:RadGrid>