protected internal override void PerformDataBinding ()
{
base.PerformDataBinding ();
// Do not attempt to bind data if there is no
// data source set.
if (!IsBoundUsingDataSourceID && (DataSource == null)) {
EnsureChildControlsDataBound ();
return;
}
InitializeDataBindings ();
HierarchicalDataSourceView data = GetData ("");
if (data == null) {
throw new InvalidOperationException ("No view returned by data source control.");
}
Items.Clear ();
IHierarchicalEnumerable e = data.Select ();
FillBoundChildrenRecursive (e, Items);
CreateChildControlsForItems ();
ChildControlsCreated = true;
EnsureChildControlsDataBound ();
}