public void SetDataSourceForeignKeyStringArray() { Grid mastergrid = new Grid(); mastergrid.ID = "test"; mastergrid.Page = Testpage; mastergrid.Mode = Mode.Edit; Testpage.Controls.Add(mastergrid); WebGrid.Columns.Foreignkey column = new WebGrid.Columns.Foreignkey("ForeignkeyItems", mastergrid); 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; ((WebGrid.Columns.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.GotDataSourceSchema); Assert.AreEqual(((WebGrid.Columns.Foreignkey)mastergrid["ForeignkeyItems"]).Table.Rows.Count, names.Length); }
public void SetDataSourceForeignKey() { Grid mastergrid = new Grid(); mastergrid.ID = "test"; mastergrid.Page = Testpage; mastergrid.Mode = Mode.Edit; Testpage.Controls.Add(mastergrid); WebGrid.Columns.Foreignkey column = new WebGrid.Columns.Foreignkey("ForeignkeyItems", mastergrid); 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; ((WebGrid.Columns.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.GotDataSourceSchema); Assert.AreEqual(((WebGrid.Columns.Foreignkey)mastergrid["ForeignkeyItems"]).Table.Rows.Count, 7); }
public void ForeignKeyColumn() { Grid grid = new Grid(); Foreignkey column = new Foreignkey("column", grid); column.ForeignkeyType = ForeignkeyType.Radiobuttons; column.DataSourceId = "Employees"; column.NullText = "Select Employees"; column.Required = true; Foreignkey column2 = new Foreignkey("column2", grid); column2.ForeignkeyType = ForeignkeyType.Select; column2.DataSourceId = "Employees"; column2.NullText = "Select Employees"; Foreignkey column3 = new Foreignkey("column3", grid); column3.ForeignkeyType = ForeignkeyType.Radiobuttons; column3.RecordsPerRow = 2; column3.DataSourceId = "Employees"; Foreignkey column4 = new Foreignkey("column4", grid); column4.TreeIndentText = "ReportsTo"; column4.DataSourceId = "Employees"; Foreignkey column5 = new Foreignkey("column5", grid); column5.TreeIndentText = "ReportsTo"; column5.DataSourceId = "Employees"; column5.NullText = "Select Employees"; Foreignkey column6 = new Foreignkey("column6", grid); column6.TreeIndentText = "ReportsTo"; column6.DataSourceId = "Employees"; column6.Where = "[Employees].[ReportsTo] IS NOT NULL"; column6.NullText = "Select Employees"; Foreignkey column7 = new Foreignkey("column7", grid); column7.TreeIndentText = "ReportsTo"; column7.DataSourceId = "Employees"; column7.Where = "[Employees].[ReportsTo] IS NOT NULL"; column7.NullText = "Select Employees"; column7.ForeignkeyType = ForeignkeyType.Radiobuttons; Foreignkey column8 = new Foreignkey("column8", grid); column8.DataSourceId = "Employees"; column8.Where = "[Employees].[ReportsTo] IS NOT NULL"; column8.NullText = "Select Employees"; column8.ForeignkeyType = ForeignkeyType.Radiobuttons; grid.MasterTable.Columns.Add(column); grid.MasterTable.Columns.Add(column2); grid.MasterTable.Columns.Add(column3); grid.MasterTable.Columns.Add(column4); grid.MasterTable.Columns.Add(column5); grid.MasterTable.Columns.Add(column6); grid.MasterTable.Columns.Add(column7); grid.MasterTable.Columns.Add(column8); SetupGrid(grid); grid.Mode = Mode.Grid; grid.DataSourceId = "Employees"; grid.ConnectionString = ConnectionAccessOleDb; // Allowed Content grid.MasterTable.Rows[0]["column"].ValueId = ""; grid.MasterTable.Rows[0]["column2"].ValueId = "3"; grid.MasterTable.Rows[0]["column3"].ValueId = "3"; grid.MasterTable.Rows[0]["column4"].ValueId = "3"; grid.MasterTable.Rows[0]["column5"].ValueId = "3"; grid.MasterTable.Rows[0]["column7"].ValueId = "3"; grid.MasterTable.Rows[0]["column8"].ValueId = "3"; 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.LessOrEqual(grid.SystemMessage.Count, 1); // 15-day license key message Assert.AreEqual(grid.Mode, Mode.Grid); }