public void BeginInit2()
{
DataTable table = new DataTable("table");
DataView dv = new DataView();
DataColumn col1 = new DataColumn("col1");
DataColumn col2 = new DataColumn("col2");
_dvInitialized = false;
dv.Initialized += new EventHandler(OnDataViewInitialized);
dv.BeginInit();
table.BeginInit();
table.Columns.AddRange(new DataColumn[] { col1, col2 });
dv.Table = table;
Assert.Null(dv.Table);
dv.EndInit();
Assert.Null(dv.Table);
Assert.Equal(0, table.Columns.Count);
table.EndInit();
dv.Initialized -= new EventHandler(OnDataViewInitialized); // this should not be unregistered before table.EndInit().
Assert.Equal(2, table.Columns.Count);
Assert.Equal(table, dv.Table);
Assert.Equal(true, _dvInitialized);
}