or
DataSet
ds = (DataSet)radGridViewMain.MasterGridViewTemplate.DataSource;
DataTable dt = ds.Tables["Details"];
int headerID = Convert.ToInt32(e.ParentRow.Cells["ID"].Value);
Details dtl = new Details();
DataRow[] dr = dt.Select(String.Format("HeaderID={0}", headerID));
if (dr.Length <= 0)
{
dt.Merge(dtl.GetRecords(headerID),
true);
}
Works great the on the first + selected, but as soon as I select another row's children to display the first childset is cleared out.
How do I load the child recrods dynamically? Any samples on that?

if (dataSet == null) //TODO TESTING{ dataSet = new DataSet(); dataTable = dataSet.Tables.Add("Results");}dataTable.Columns.Add("ID");dataTable.Columns.Add("Name");dataTable.Rows.Add(i++, "Jack");dataTable.Rows.Add(i++, "Donna");dataTable.Rows.Add(i++, "Jack");dataTable.Rows.Add(i++, "Donna");dataTable.Rows.Add(i++, "Jack");dataTable.Rows.Add(i++, "Donna");dataTable.Rows.Add(i++, "Jack");dataTable.Rows.Add(i++, "Donna");dataTable.Rows.Add(i++, "Jack");dataTable.Rows.Add(i++, "Donna");dataTable.Rows.Add(i++, "Jack");dataTable.Rows.Add(i++, "Donna");this.batchDisplay.DataSource = dataSet.Tables[0];dataTable.Rows.Add(i++, "Ralph"); //TODO TEST CODEdataTable.Rows.Add(i++, "Walf");dataTable.Rows.Add(i++, "Ralph");dataTable.Rows.Add(i++, "Walf");this.batchDisplay.BeginUpdate(); dataTable.Rows.Add(i++, "Ralph"); //TODO TEST CODE dataTable.Rows.Add(i++, "Walf"); dataTable.Rows.Add(i++, "Ralph"); dataTable.Rows.Add(i++, "Walf"); this.batchDisplay.EndUpdate(); this.batchDisplay.TableElement.RowScroller.UpdateScrollRange();this.batchDisplay.BeginUpdate();dataTable.Rows.Add(i++, "Ralph"); //TODO TEST CODEdataTable.Rows.Add(i++, "Walf");dataTable.Rows.Add(i++, "Ralph");dataTable.Rows.Add(i++, "Walf");this.batchDisplay.Height += 1;this.batchDisplay.Height -= 1;this.batchDisplay.EndUpdate();