public void RenderGridWithRows() { Grid grid = new Grid(); grid.ID = "test"; Row newrow = new Row( grid.MasterTable); newrow["title"].Value = "title 1"; newrow["Description"].Value = @"description 1"; newrow["sampleurl"].Value = "sample url 1"; newrow["PrimaryColumn"].Value = "1"; grid.AddRow(newrow); newrow = new Row( grid.MasterTable); newrow["title"].Value = "title 2"; newrow["Description"].Value = @"description 2"; newrow["sampleurl"].Value = "sample url 2"; newrow["PrimaryColumn"].Value = "2"; grid.AddRow(newrow); newrow = new Row( grid.MasterTable); newrow["title"].Value = "title 3"; newrow["Description"].Value = @"description 3"; newrow["sampleurl"].Value = "sample url 3"; newrow["PrimaryColumn"].Value = "3"; grid.AddRow(newrow); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); }
public void GetEmployeesAccessMasterGrid() { Grid mastergrid = new Grid { DataSourceId = "Employees", ID = "test", Page = Testpage, ConnectionString = ConnectionAccessOleDb }; Testpage.Controls.Add(mastergrid); Grid slavegrid = new Grid { DataSourceId = "Territories", ID = "test2", Page = Testpage, MasterGrid = "test", ConnectionString = ConnectionAccessOleDb }; Testpage.Controls.Add(slavegrid); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); mastergrid.RenderControl(gridwriter); sb = new StringBuilder(); sw = new StringWriter(sb); gridwriter = new HtmlTextWriter(sw); slavegrid.RenderControl(gridwriter); Assert.Greater(mastergrid.MasterTable.Rows.Count, 1); Assert.IsTrue(mastergrid.MasterTable.GotSchema); Assert.IsFalse(slavegrid.MasterTable.GotSchema); }
public void CheckboxColumn() { Grid grid = new Grid(); Checkbox column = new Checkbox("column", grid.MasterTable); column.Required = true; column.Primarykey = true; Checkbox column2 = new Checkbox("column2", grid.MasterTable); Checkbox column3 = new Checkbox("column3", grid.MasterTable); Checkbox column4 = new Checkbox("column4", grid.MasterTable); grid.MasterTable.Columns.Add(column); grid.MasterTable.Columns.Add(column2); grid.MasterTable.Columns.Add(column3); grid.MasterTable.Columns.Add(column4); SetupGrid(grid); // Not allowed content grid.MasterTable.Rows[0]["column"].Value = "1"; grid.MasterTable.Rows[0]["column2"].Value = "sdf30"; grid.MasterTable.Rows[0]["column3"].Value = "TRUE"; grid.MasterTable.Rows[0]["column4"].Value = ""; Assert.AreEqual(grid.DisplayView, DisplayView.Detail); grid.RaisePostBackEvent("RecordUpdateClick!!False"); Assert.AreEqual(grid.SystemMessage.Count, 0); }
public void GetEmployeesAccessMasterGridEdit() { Grid mastergrid = new Grid(); mastergrid.DataSourceId = "Employees"; mastergrid.ID = "test"; mastergrid.Page = Testpage; mastergrid.EditIndex = "3"; mastergrid["Photo"].Visibility = Visibility.None; //HtmlForm is required for File columns. mastergrid.DisplayView = DisplayView.Detail; mastergrid.ConnectionString = ConnectionAccessOleDb; Testpage.Controls.Add(mastergrid); Grid slavegrid = new Grid(); slavegrid.DataSourceId = "Territories"; slavegrid.ID = "test2"; slavegrid.Page = Testpage; slavegrid.MasterGrid = "test"; slavegrid.ConnectionString = ConnectionAccessOleDb; Testpage.Controls.Add(slavegrid); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); mastergrid.RenderControl(gridwriter); sb = new StringBuilder(); sw = new StringWriter(sb); gridwriter = new HtmlTextWriter(sw); slavegrid.RenderControl(gridwriter); Assert.AreEqual(mastergrid.MasterTable.Rows.Count, 1); Assert.IsFalse(slavegrid.MasterTable.GotSchema); }
public void GridRowBoundAllowEditInRow() { //Update The record set, we are updating record set 11 SqlConnectionUpdate(); Grid grid = new Grid(); SetupTestGrid(grid); grid.PageSize = 100; grid.Culture = new System.Globalization.CultureInfo("en-US"); grid.RowHighLight = System.Drawing.Color.Azure; ((WebGrid.DateTime)grid["dtmDate"]).Format = dateformat; grid.RaisePostBackEvent("RecordCancelClick!"); grid.GridRowBound += grid_GridRowBound; grid["intTest"].AllowEditInGrid = true; grid["decTest"].AllowEditInGrid = true; grid["dtmDate"].AllowEditInGrid = true; grid["vchtest"].AllowEditInGrid = true; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); // These are triggers from html being rendered. string[] triggerStrings = new[] { "wggrid_40_vchTest", "wggrid_40_decTest", "wggrid_40_intTest", "wggrid_40_dtmDate", // "wggrid_40_dtmDate_trigger", "cb_wggrid_40_bitFlag", "wggrid_40_bitFlag", "onmouseover=\"wgrowhighlight", // "calendar.gif", "wggrid_11_vchTest", "wggrid_11_decTest", "wggrid_11_intTest", "wggrid_11_dtmDate", // "wggrid_11_dtmDate_trigger", "cb_wggrid_11_bitFlag", "wggrid_11_bitFlag", //DateTime column with today's DateTime "value=\""+DateTime.Now.ToString(dateformat)+"\" id=\"wggrid_11_dtmDate\"", //Test column with 'blah'+ DateTime // "maxlength=\"50\" value=\"blah" +DateTime.Now.ToString(dateformat)+"\" id=\"wggrid_11_vchTest\"", //Decimal column with value 5634 formatted default "N2" "style=\"text-align: Right;\" value=\"5,634.00\" id=\"wggrid_11_decTest\"", //Number column with 33345 formatted default with "N0" "style=\"text-align: Right;\" value=\"33,345\" id=\"wggrid_11_intTest\"" }; string content = sb.ToString(); foreach (string part in triggerStrings) { int res = content.IndexOf(part); Assert.Greater(res, -1,part+Environment.NewLine+content); } }
public void RenderEmptyGrid() { Grid grid = new Grid(); grid.ID = "test"; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); }
public void SqlServerGrouping() { Grid grid = new Grid(); SetupSqlServerGrid(grid); grid.GroupByExpression = "ProductID"; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); }
private void SetupSqlServerGrid(Grid grid) { grid.ID = "wggrid"; grid.DefaultVisibility = Visibility.Both; grid.RecordsPerRow = 2; grid.PagerSettings.PagerType = PagerType.None; grid.Width = Unit.Pixel(1000); grid.DataSourceId = "Order Details"; grid.ConnectionString = ConnectionSqlConnection; Testpage.Controls.Add(grid); }
private void SetupAccessGrid(Grid grid) { grid.ID = "wggrid"; grid.DefaultVisibility = Visibility.Both; grid.RecordsPerRow = 2; grid.PagerSettings.PagerType = PagerType.None; grid.Width = Unit.Pixel(1000); grid.DataSourceId = "Customers"; grid.ConnectionString = ConnectionAccessOleDb; Testpage.Controls.Add(grid); }
public void GetEmployeesErrorWhere() { Grid grid = new Grid(); grid.DataSourceId = "Employees"; grid.ID = "test"; grid.Where = "ErrorInWhere"; grid.ConnectionString = ConnectionAccessOleDb; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); }
public void GetUnknownDataSource() { Grid grid = new Grid(); grid.DataSourceId = "UnKnown"; grid.ID = "test"; grid.Page = Testpage; grid.ConnectionString = ConnectionAccessOleDb; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); }
public void GridRowBound() { Grid grid = new Grid(); SetupTestGrid(grid); grid.RaisePostBackEvent("RecordCancelClick!"); grid.GridRowBound += grid_GridRowBound; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); }
public void GetAccessOleDBAllowEditInGridTrue() { var grid = new Grid {Sql = "SELECT * FROM Employees", ID = "test"}; grid["FirstName"].AllowEditInGrid = true; grid["LastName"].AllowEditInGrid = true; grid.DefaultVisibility = Visibility.Both; grid.ConnectionString = ConnectionAccessOleDb; var sb = new StringBuilder(); var sw = new StringWriter(sb); var gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.AllowEditInGrid, true); }
public void GetAccessOleDb() { Grid grid = new Grid(); grid.Sql = "SELECT * FROM Employees"; grid.ID = "test"; grid.Page = Testpage; grid.ConnectionString = ConnectionAccessOleDb; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); }
public void GetEmployeesAccessInvalidMasterGrid() { Grid grid = new Grid(); grid.DataSourceId = "Employees"; grid.ID = "test"; grid.Page = Testpage; grid.MasterGrid = "NotFound"; grid.ConnectionString = ConnectionAccessOleDb; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); }
public void GetEmployeesErrorWhere() { Grid grid = new Grid { DataSourceId = "Employees", ID = "test", FilterExpression = "ErrorInWhere", ConnectionString = ConnectionAccessOleDb }; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); }
public void GetAccessOleDBAllowEditInGridTFalse() { var grid = new Grid { Sql = "SELECT * FROM Employees", ID = "test", DefaultVisibility = Visibility.Both, ConnectionString = ConnectionAccessOleDb }; var sb = new StringBuilder(); var sw = new StringWriter(sb); var gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.AllowEditInGrid, false); }
public void LoadGridWithEmployeesGenericList() { NorthwindEmployeeData employeedata = new NorthwindEmployeeData(); List<NorthwindEmployee> employees = employeedata.GetAllEmployeesList("", 0, 100); Grid grid = new Grid(); grid.DataSource = employees; grid.ID = "test"; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.MasterTable.Rows.Count, employees.Count); }
public void GetAccessOleDbCacheIsFalse() { Grid grid = new Grid(); grid.Sql = "SELECT * FROM Employees"; grid.ID = "test"; grid.CacheGridStructure = false; grid.ConnectionString = ConnectionAccessOleDb; grid.Page = Testpage; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); Assert.IsFalse(grid.MasterTable.CacheDatasourceStructure); Assert.IsFalse(grid.MasterTable.GotCache); }
public void GetAccessOleDbCacheIsTrue() { Grid grid = new Grid(); grid.Sql = "SELECT * FROM Employees"; grid.ID = "test"; grid.Page = Testpage; grid.CacheGridStructure = true; grid.ConnectionString = ConnectionAccessOleDb; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); Assert.IsTrue(grid.MasterTable.CacheDatasourceStructure); // Assert.IsTrue(grid.MasterTable.GotDataSourceCache); // HttpRuntime.Cache is needed to actually store the data source. }
public void GetAccessOleDb() { Grid grid = new Grid(); grid.Sql = "SELECT * FROM Employees"; grid.ID = "test"; grid.Page = Testpage; grid.PageLength = 2; grid.ConnectionString = ConnectionAccessOleDb; WebGrid.GridPart part1 = new WebGrid.GridPart(); part1.Page = Testpage; part1.MasterGrid = grid.ID; part1.GridPartType = WebGrid.Enums.GridPart.NewRecord; part1.ID = "part1"; part1.Html = "New Record Button"; Testpage.Controls.Add(part1); WebGrid.GridPart part2 = new WebGrid.GridPart(); part1.Page = Testpage; part1.MasterGrid = grid.ID; part1.GridPartType = WebGrid.Enums.GridPart.Pager; part1.ID = "part2"; Testpage.Controls.Add(part2); WebGrid.GridPart part3 = new WebGrid.GridPart(); part1.Page = Testpage; part1.MasterGrid = grid.ID; part1.GridPartType = WebGrid.Enums.GridPart.SearchField; part1.ID = "part3"; Testpage.Controls.Add(part3); WebGrid.GridPart part4 = new WebGrid.GridPart(); part1.Page = Testpage; part1.MasterGrid = grid.ID; part1.GridPartType = WebGrid.Enums.GridPart.UpdateRecords; part1.ID = "part4"; Testpage.Controls.Add(part4); Testpage.Controls.Add(grid); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); Testpage.RenderControl(gridwriter); Console.WriteLine(sb.ToString()); }
public void CreateAndDeleteRecord() { CreateRecordSelect(); int CategoryId = GetCategoryId(); Grid grid = new Grid(); Testpage.Controls.Add(grid); SetDataSource(grid); grid.ID = "test"; grid.DefaultVisibility = Visibility.Both; grid.RecordsPerRow = 2; grid.PagerSettings.PagerType = PagerType.Standard; grid.Width = Unit.Pixel(1000); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.MasterTable.DataSourceType, DataSourceControlType.AccessDataSource); int records = grid.MasterTable.Rows.Count; grid = new Grid(); Testpage.Controls.Add(grid); SetDataSource(grid); grid.ID = "test"; grid.DefaultVisibility = Visibility.Both; grid.RecordsPerRow = 2; grid.PagerSettings.PagerType = PagerType.Standard; grid.Width = Unit.Pixel(1000); grid.RaisePostBackEvent(string.Format("RecordDeleteClick!{0}", CategoryId)); sb = new StringBuilder(); sw = new StringWriter(sb); gridwriter = new HtmlTextWriter(sw); ////grid.ReLoadData = true; grid.RenderControl(gridwriter); // Assert.AreEqual(grid.MasterTable.Rows.Count, GetCategoryCount()); // Assert.AreEqual(records-1, grid.MasterTable.Rows.Count); Assert.AreEqual(grid.DisplayView, DisplayView.Grid); Assert.LessOrEqual(grid.SystemMessage.Count, 1); }
public void CreateAndDeleteRecord() { CreateRecord(); string CategoryId = Query.ExecuteScalar("SELECT TOP 1 CategoryID FROM Categories ORDER BY CategoryID DESC", ConnectionAccessOleDb).ToString(); Grid grid = new Grid(); grid.DataSourceId = "Categories"; grid.ID = "test"; grid.ConnectionString = ConnectionAccessOleDb; grid.DefaultVisibility = Visibility.Both; grid.RecordsPerRow = 2; grid.PagerSettings.PagerType = PagerType.None; grid.Width = Unit.Pixel(1000); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); int records = grid.MasterTable.Rows.Count; grid = new Grid(); grid.DataSourceId = "Categories"; grid.ID = "test"; grid.ConnectionString = ConnectionAccessOleDb; grid.DefaultVisibility = Visibility.Both; grid.RecordsPerRow = 2; grid.PagerSettings.PagerType = PagerType.None; grid.Width = Unit.Pixel(1000); grid.RaisePostBackEvent("RecordDeleteClick!" + CategoryId); sb = new StringBuilder(); sw = new StringWriter(sb); gridwriter = new HtmlTextWriter(sw); grid.MasterTable.GetData(true); grid.RenderControl(gridwriter); // Assert.Less(grid.MasterTable.Rows.Count, records); Assert.AreEqual(grid.DisplayView, DisplayView.Grid); }
public void AllowEditInGridWithDebug() { Grid grid = new Grid(); SetupGrid(grid); grid["CategoryName"].AllowEditInGrid = true; grid["Description"].AllowEditInGrid = true; grid["CategoryId"].AllowEditInGrid = true; grid["CategoryId"].Visibility = Visibility.Both; grid.Debug = true; Assert.AreEqual(grid.Mode, Mode.Edit); grid.RaisePostBackEvent("RecordCancelClick!"); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.Mode, Mode.Grid); Assert.LessOrEqual(grid.SystemMessage.Count, 1); Assert.Greater(grid.Rows.Count, 1); }
public void GetEmployeesAccessLayOutTest() { Grid grid = new Grid(); grid.DataSourceId = "Employees"; grid.ID = "test"; grid.RecordsPerRow = 2; grid.PagerType = PagerType.None; grid.Width = Unit.Pixel(1000); grid.Height = Unit.Pixel(1500); PlaceHolder helptext = new PlaceHolder(); Label label = new Label(); label.Text = "This is an test.."; helptext.Controls.Add(label); grid.HelpText = helptext; grid.ConnectionString = ConnectionAccessOleDb; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.Greater(grid.MasterTable.Rows.Count, 1); Assert.AreNotSame(sb.ToString().IndexOf("is an test.."), -1); }
public void LoadGridWithNames() { List<string> names = new List<string>(); names.Add("Tom"); names.Add("Dick"); names.Add("Harry"); names.Add("Thomas"); names.Add("Anders"); names.Add("Carl"); names.Add("Trond"); names.Add("Eli"); names.Add("Eva"); Grid grid = new Grid(); grid.DataSource = names; grid.ID = "test"; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.MasterTable.Rows.Count, names.Count); }
public void LoadGridWithNumbers() { List<int> numbers = new List<int>(); numbers.Add(45); numbers.Add(45); numbers.Add(34); numbers.Add(34); numbers.Add(34); numbers.Add(23); numbers.Add(45); numbers.Add(45); numbers.Add(23); Grid grid = new Grid(); grid.DataSource = numbers; grid.ID = "test"; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.MasterTable.Rows.Count, numbers.Count); }
public void SetDataSourceForeignKeyStringArray() { Grid mastergrid = new Grid(); mastergrid.ID = "test"; mastergrid.Page = Testpage; mastergrid.DisplayView = DisplayView.Detail; Testpage.Controls.Add(mastergrid); Foreignkey column = new Foreignkey("ForeignkeyItems", mastergrid.MasterTable); column.NullText = "Select Category"; column.Required = true; mastergrid.MasterTable.Columns.Add(column); WebGrid.Data.Table fktable = new WebGrid.Data.Table(mastergrid, true); string[] names = new[] { "Tom", "Dick", "Harry", "Thomas", "Anders", "Carl", "Trond", "Eli", "Eva" }; fktable.DataSource = names; ((Foreignkey)mastergrid["ForeignkeyItems"]).Table = fktable; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); mastergrid.RenderControl(gridwriter); Assert.AreEqual(mastergrid.MasterTable.Rows.Count, 1); Assert.IsTrue(mastergrid.MasterTable.GotSchema); Assert.AreEqual(((Foreignkey)mastergrid["ForeignkeyItems"]).Table.Rows.Count, names.Length); }
public void SetDataSourceForeignKeyGetDataForce() { Grid mastergrid = new Grid(); mastergrid.ID = "test"; mastergrid.Page = Testpage; mastergrid.DisplayView = DisplayView.Detail; Testpage.Controls.Add(mastergrid); Foreignkey column = new Foreignkey("ForeignkeyItems", mastergrid.MasterTable); column.NullText = "Select Category"; column.Required = true; mastergrid.MasterTable.Columns.Add(column); WebGrid.Data.Table fktable = new WebGrid.Data.Table(mastergrid, true); StringDictionary tmp = new StringDictionary(); tmp.Add("Category 1", "1"); tmp.Add("Category 2", "2"); tmp.Add("Category 3", "3"); tmp.Add("Category 4", "4"); tmp.Add("Category 5", "5"); tmp.Add("Category 6", "6"); tmp.Add("Category 7", "7"); fktable.DataSource = tmp; ((Foreignkey)mastergrid["ForeignkeyItems"]).Table = fktable; ((Foreignkey)mastergrid["ForeignkeyItems"]).ValueColumn = "Value"; StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); mastergrid.RenderControl(gridwriter); Assert.AreEqual(mastergrid.MasterTable.Rows.Count, 1); Assert.IsTrue(mastergrid.MasterTable.GotSchema); Assert.AreEqual(((Foreignkey)mastergrid["ForeignkeyItems"]).Table.Rows.Count, 7); ((Foreignkey) mastergrid["ForeignkeyItems"]).Table.FilterExpression = "Value = 3"; Assert.AreEqual(((Foreignkey)mastergrid["ForeignkeyItems"]).Table.Rows.Count, 1); }
public void GetEmployeesAccessMasterGridSetDataSource() { //Setting up a standard OleDBDataAdapter datasource. OleDbConnection myConn = new OleDbConnection(ConnectionAccessOleDb); OleDbDataAdapter myCmdEmployee = new OleDbDataAdapter("SELECT * FROM [Employees]", myConn); OleDbDataAdapter myCmdTerritories = new OleDbDataAdapter("SELECT * FROM [Territories]", myConn); Grid mastergrid = new Grid(); mastergrid.DataSource = myCmdEmployee; mastergrid.ID = "test"; mastergrid.Page = Testpage; Testpage.Controls.Add(mastergrid); Grid slavegrid = new Grid(); slavegrid.DataSourceId = "Territories"; slavegrid.DataSource =myCmdTerritories; slavegrid.ID = "test2"; slavegrid.Page = Testpage; slavegrid.MasterGrid = "test"; Testpage.Controls.Add(slavegrid); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); mastergrid.RenderControl(gridwriter); sb = new StringBuilder(); sw = new StringWriter(sb); gridwriter = new HtmlTextWriter(sw); slavegrid.RenderControl(gridwriter); Assert.Greater(mastergrid.MasterTable.Rows.Count, 1); Assert.IsTrue(mastergrid.MasterTable.GotSchema); Assert.IsFalse(slavegrid.MasterTable.GotSchema); }