public void ManyToMany() { Testpage.Controls.Clear(); Grid grid = new Grid(); ManyToMany column = new ManyToMany("column", grid); column.MatrixIdentityColumn = "EmployeeID"; column.MatrixDataSource = "EmployeeTerritories"; column.Where = "RegionID = 3"; column.ValueColumn = "TerritoryDescription"; column.ForeignDataSource = "Territories"; column.ForeignIdentityColumn = "TerritoryID"; column.RecordsPerRow = 4; column.ManyToManyType = ManyToManyType.Checkboxes; ManyToMany column2 = new ManyToMany("column2", grid); column2.MatrixIdentityColumn = "EmployeeID"; column2.MatrixDataSource = "EmployeeTerritories"; column2.Where = "RegionID = 2"; column2.ValueColumn = "TerritoryDescription"; column2.ForeignDataSource = "Territories"; column2.ForeignIdentityColumn = "TerritoryID"; column2.ManyToManyType = ManyToManyType.Multiselect; grid.MasterTable.Columns.Add(column); grid.MasterTable.Columns.Add(column2); SetupGrid(grid); grid.Mode = Mode.Edit; grid.StayEdit = true; grid.CurrentId = "4"; grid.DataSourceId = "Employees"; grid.ConnectionString = ConnectionAccessOleDb; grid.RaisePostBackEvent("RecordUpdateClick!!False"); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.MasterTable.Rows.Count, 1); Assert.Greater(column.Items.Count, 1); Assert.Greater(column2.Items.Count, 1); if (grid.SystemMessage.Count > 2) foreach (SystemMessage message in grid.SystemMessage) Console.WriteLine(message.Message); //When running bulk tests we get an extra systemmessage because Grid.ID stored in TestPage object. Assert.LessOrEqual(grid.SystemMessage.Count, 2); // 15-day license key message Assert.AreEqual(grid.Mode, Mode.Edit); string[] triggerStrings = new[] { "type=\"checkbox\"", "id=\"cb_wggrid_4_column_01581\"", "for=\"cb_wggrid_4_column_01581\"", "type=\"checkbox\" id=\"cb_wggrid_4_column_55439\"" }; string content = sb.ToString(); foreach (string part in triggerStrings) { int res = content.IndexOf(part); Assert.Greater(res, -1, part + Environment.NewLine + content); } }
public void ManyToMany() { Testpage.Controls.Clear(); Grid grid = new Grid(); ManyToMany column = new ManyToMany("column", grid); column.MatrixIdentityColumn = "EmployeeID"; column.MatrixDataSource = "EmployeeTerritories"; column.Where = "RegionID = 3"; column.ValueColumn = "TerritoryDescription"; column.ForeignDataSource = "Territories"; column.ForeignIdentityColumn = "TerritoryID"; column.RecordsPerRow = 4; column.ManyToManyType = ManyToManyType.Checkboxes; ManyToMany column2 = new ManyToMany("column2", grid); column2.MatrixIdentityColumn = "EmployeeID"; column2.MatrixDataSource = "EmployeeTerritories"; column2.Where = "RegionID = 2"; column2.ValueColumn = "TerritoryDescription"; column2.ForeignDataSource = "Territories"; column2.ForeignIdentityColumn = "TerritoryID"; column2.ManyToManyType = ManyToManyType.Multiselect; grid.MasterTable.Columns.Add(column); grid.MasterTable.Columns.Add(column2); SetupGrid(grid); grid.Mode = Mode.Edit; grid.StayEdit = true; grid.CurrentId = "4"; grid.DataSourceId = "Employees"; grid.ConnectionString = ConnectionAccessOleDb; grid.RaisePostBackEvent("RecordUpdateClick!!False"); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); HtmlTextWriter gridwriter = new HtmlTextWriter(sw); grid.RenderControl(gridwriter); Assert.AreEqual(grid.MasterTable.Rows.Count, 1); Assert.Greater(column.Items.Count, 1); Assert.Greater(column2.Items.Count, 1); if (grid.SystemMessage.Count > 2) { foreach (SystemMessage message in grid.SystemMessage) { Console.WriteLine(message.Message); } } //When running bulk tests we get an extra systemmessage because Grid.ID stored in TestPage object. Assert.LessOrEqual(grid.SystemMessage.Count, 2); // 15-day license key message Assert.AreEqual(grid.Mode, Mode.Edit); string[] triggerStrings = new[] { "type=\"checkbox\"", "id=\"cb_wggrid_4_column_01581\"", "for=\"cb_wggrid_4_column_01581\"", "type=\"checkbox\" id=\"cb_wggrid_4_column_55439\"" }; string content = sb.ToString(); foreach (string part in triggerStrings) { int res = content.IndexOf(part); Assert.Greater(res, -1, part + Environment.NewLine + content); } }