public void Should_return_data_items_after_nested_group() { var customers = ArrangeCustomers(); var dataSource = customers.GroupBy(new[] { new GroupDescriptor { Member = "Gender" }, new GroupDescriptor { Member = "IsActive" } }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var third = all[2]; third.Type.ShouldEqual(GridItemType.DataRow); var customer = third.DataItem as Customer; customer.ShouldBeSameAs(customers.First()); }
public void Should_return_data_items_after_nested_group() { var customers = ArrangeCustomers(); var dataSource = customers.GroupBy(new[] { new GroupDescriptor { Member = "Gender" }, new GroupDescriptor { Member = "IsActive" } }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var third = all[2]; third.Type.ShouldEqual(GridItemType.DataRow); var customer = third.DataItem as Customer; customer.ShouldBeSameAs(customers.First()); }
public void Should_return_nested_group() { var dataSource = ArrangeCustomers().GroupBy(new[] { new GroupDescriptor { Member = "Gender" }, new GroupDescriptor { Member = "IsActive" } }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var second = all[1]; second.Type.ShouldEqual(GridItemType.GroupRow); var group = second.DataItem as IGroup; group.Key.ShouldEqual(true); }
public IHtmlNode CreateBody(GridRenderingData renderingData) { var enumerator = new GridDataSourceEnumerator(renderingData.DataSource, itemCreatorFactory.Create(renderingData.DataKeyStore, renderingData), renderingData.InsertRowPosition); var rowBuilders = enumerator.Select(item => rowBuilderFactory.CreateBuilder(renderingData, item)); return CreateBody(rowBuilders); }
public void Should_return_empty_row_if_data_source_is_emmpty() { enumerator = new GridDataSourceEnumerator(new object[0], factory.Object); var first = enumerator.First(); first.Type.ShouldEqual(GridItemType.EmptyRow); first.DataItem.ShouldBeNull(); }
public void Should_return_empty_row_if_data_source_is_null() { enumerator = new GridDataSourceEnumerator(null, factory.Object, default(GridInsertRowPosition)); var first = enumerator.First(); first.Type.ShouldEqual(GridItemType.EmptyRow); first.DataItem.ShouldBeNull(); }
public void Should_set_group_level() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var firstGroupItem = all[0]; var secondGroupItem = all[2]; firstGroupItem.GroupLevel.ShouldEqual(0); firstGroupItem.GroupLevel.ShouldEqual(secondGroupItem.GroupLevel); }
public void Should_return_group_rows() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var first = enumerator.First(); first.Type.ShouldEqual(GridItemType.GroupRow); var group = first.DataItem as IGroup; group.Key.ShouldEqual(Gender.Female); }
public void Should_return_data_items_in_groups() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var second = all[1]; second.Type.ShouldEqual(GridItemType.DataRow); var customer = second.DataItem as Customer; var gender = customer.Gender; gender.ShouldEqual(Gender.Female); }
public void Should_return_data_items_in_groups() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var second = all[1]; second.Type.ShouldEqual(GridItemType.DataRow); var customer = second.DataItem as Customer; var gender = customer.Gender; gender.ShouldEqual(Gender.Female); }
public void Should_return_group_after_data_items() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var third = all[2]; third.Type.ShouldEqual(GridItemType.GroupRow); var group = third.DataItem as IGroup; group.Key.ShouldEqual(Gender.Male); }
public void Should_return_data_rows() { var data = new[] { "foo" }; var item = new GridItem { Type = GridItemType.DataRow, DataItem = data[0] }; factory.Setup(f => f.CreateItem(data[0])).Returns(() => item); enumerator = new GridDataSourceEnumerator(data, factory.Object); var first = enumerator.First(); first.ShouldBeSameAs(item); }
public void Should_set_group_level_of_detail_row_if_grouped() { var dataSource = ArrangeGroupedDataSource(); factory.Setup(c => c.CreateItem(It.IsAny <Customer>())).Returns((Customer c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Master, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); all[2].GroupLevel.ShouldEqual(1); }
public void Should_return_detail_row_after_group() { var dataSource = ArrangeGroupedDataSource(); factory.Setup(c => c.CreateItem(It.IsAny <Customer>())).Returns((Customer c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Master, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); all[2].Type.ShouldEqual(GridItemType.DetailRow); }
public void Should_set_odd_item_as_alternating() { var dataSource = ArrangeCustomers(); factory.Setup(c => c.CreateItem(It.IsAny <Customer>())).Returns((Customer c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Default, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); (all[0].State & GridItemStates.Alternating).ShouldNotEqual(GridItemStates.Alternating); (all[1].State & GridItemStates.Alternating).ShouldEqual(GridItemStates.Alternating); }
public void Should_return_detail_row() { var dataSource = new [] { "foo" }; factory.Setup(c => c.CreateItem(dataSource[0])).Returns((string c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Master, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var second = all[1]; second.Type.ShouldEqual(GridItemType.DetailRow); second.DataItem.ShouldBeSameAs(dataSource[0]); all.Length.ShouldEqual(2); }
public void Should_set_group_level_for_nested_groups() { var dataSource = ArrangeCustomers().GroupBy(new[] { new GroupDescriptor { Member = "Gender" }, new GroupDescriptor { Member = "IsActive" } }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); var firstNestedGroupItem = all[1]; var secondNestedGroupItem = all[4]; firstNestedGroupItem.GroupLevel.ShouldEqual(1); firstNestedGroupItem.GroupLevel.ShouldEqual(secondNestedGroupItem.GroupLevel); }
public void Should_return_group_after_data_items() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var third = all[2]; third.Type.ShouldEqual(GridItemType.GroupRow); var group = third.DataItem as IGroup; group.Key.ShouldEqual(Gender.Male); }
public void Should_set_odd_item_as_alternating() { var dataSource = ArrangeCustomers(); factory.Setup(c => c.CreateItem(It.IsAny<Customer>())).Returns((Customer c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Default, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); (all[0].State & GridItemStates.Alternating).ShouldNotEqual(GridItemStates.Alternating); (all[1].State & GridItemStates.Alternating).ShouldEqual(GridItemStates.Alternating); }
public void Should_set_group_level_of_detail_row_if_grouped() { var dataSource = ArrangeGroupedDataSource(); factory.Setup(c => c.CreateItem(It.IsAny<Customer>())).Returns((Customer c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Master, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); all[2].GroupLevel.ShouldEqual(1); }
public void Should_set_group_level_for_nested_groups() { var dataSource = ArrangeCustomers().GroupBy(new[] { new GroupDescriptor { Member = "Gender" }, new GroupDescriptor { Member = "IsActive" } }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var firstNestedGroupItem = all[1]; var secondNestedGroupItem = all[4]; firstNestedGroupItem.GroupLevel.ShouldEqual(1); firstNestedGroupItem.GroupLevel.ShouldEqual(secondNestedGroupItem.GroupLevel); }
public void Should_set_group_level() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var firstGroupItem = all[0]; var secondGroupItem = all[2]; firstGroupItem.GroupLevel.ShouldEqual(0); firstGroupItem.GroupLevel.ShouldEqual(secondGroupItem.GroupLevel); }
public void Should_return_nested_group() { var dataSource = ArrangeCustomers().GroupBy(new[] { new GroupDescriptor { Member = "Gender" }, new GroupDescriptor { Member = "IsActive" } }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var second = all[1]; second.Type.ShouldEqual(GridItemType.GroupRow); var group = second.DataItem as IGroup; group.Key.ShouldEqual(true); }
public void Should_return_group_rows() { var dataSource = ArrangeGroupedDataSource(); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var first = enumerator.First(); first.Type.ShouldEqual(GridItemType.GroupRow); var group = first.DataItem as IGroup; group.Key.ShouldEqual(Gender.Female); }
public void Should_return_detail_row() { var dataSource = new[] { "foo" }; factory.Setup(c => c.CreateItem(dataSource[0])).Returns((string c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Master, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object, default(GridInsertRowPosition)); var all = enumerator.ToArray(); var second = all[1]; second.Type.ShouldEqual(GridItemType.DetailRow); second.DataItem.ShouldBeSameAs(dataSource[0]); all.Length.ShouldEqual(2); }
public void Should_return_data_rows() { var data = new[] { "foo" }; var item = new GridItem { Type = GridItemType.DataRow, DataItem = data[0] }; factory.Setup(f => f.CreateItem(data[0])).Returns(() => item); enumerator = new GridDataSourceEnumerator(data, factory.Object, default(GridInsertRowPosition)); var first = enumerator.First(); first.ShouldBeSameAs(item); }
private void RenderTableBody(IHtmlElement wrapper) { var container = new HtmlElement("div") .AddCssClass("lib-grid-content") .AppendTo(wrapper); if (context.Scrolling.Enabled) { container .Css("height", context.Scrolling.Height.ToString()) .Css("overflow-y", "scroll"); } var table = new HtmlElement("table") .Css("width", new Unit(100, UnitType.Percentage).ToString()) .AppendTo(container); CreateColGroups(table); /*var groups = new HtmlElement("colgroup").AppendTo(table); foreach (var column in context.Columns.Where(column => column.Visible)) { var group = new HtmlElement("col", TagRenderMode.SelfClosing); if (column.Widht != Unit.Empty) { group.Css("width", column.Widht.ToString()).AppendTo(groups); } }*/ var body = new HtmlElement("tbody").AppendTo(table); var enumerator = new GridDataSourceEnumerator(context.DataSource); var rowBuilders = enumerator.Select(row => rowRendererFactory.CreateRowRenderer(context, row)); foreach(var builder in rowBuilders) { builder.CreateRow().AppendTo(body); } }
public void Should_return_detail_row_after_group() { var dataSource = ArrangeGroupedDataSource(); factory.Setup(c => c.CreateItem(It.IsAny<Customer>())).Returns((Customer c) => new GridItem { Type = GridItemType.DataRow, State = GridItemStates.Master, DataItem = c }); enumerator = new GridDataSourceEnumerator(dataSource, factory.Object); var all = enumerator.ToArray(); all[2].Type.ShouldEqual(GridItemType.DetailRow); }