static void BindingContainer_BuildTemplate (Control control) { Control child1 = new Control (); control.Controls.Add (child1); Assert.IsTrue (Object.ReferenceEquals (child1.NamingContainer, control), "NamingContainer #1"); Assert.IsTrue (Object.ReferenceEquals (child1.BindingContainer, control), "BindingContainer #1"); NamingContainer nc = new NamingContainer (); Control child2 = new Control (); nc.Controls.Add (child2); control.Controls.Add (nc); Assert.IsTrue (Object.ReferenceEquals (child2.NamingContainer, nc), "NamingContainer #2"); Assert.IsTrue (Object.ReferenceEquals (child2.BindingContainer, nc), "BindingContainer #2"); #if NET_2_0 // DetailsViewPagerRow marked to be not BindingContainer DetailsViewPagerRow row = new DetailsViewPagerRow (0, DataControlRowType.Pager, DataControlRowState.Normal); TableCell cell = new TableCell (); Control child3 = new Control (); cell.Controls.Add (child3); row.Cells.Add (cell); control.Controls.Add (row); Assert.IsTrue (Object.ReferenceEquals (child3.NamingContainer, row), "NamingContainer #3"); Assert.IsTrue (Object.ReferenceEquals (child3.BindingContainer, control), "BindingContainer #3"); #endif }
protected virtual DetailsViewRow CreateRow (int rowIndex, DataControlRowType rowType, DataControlRowState rowState) { DetailsViewRow row; if (rowType == DataControlRowType.Pager) row = new DetailsViewPagerRow (rowIndex, rowType, rowState); else row = new DetailsViewRow (rowIndex, rowType, rowState); return row; }