public override Android.Views.View GetSampleContent(Android.Content.Context context) { sfGrid = new SfDataGrid(context); viewModel = new GroupingViewModel(); sfGrid.ItemsSource = viewModel.ProductDetails; sfGrid.SelectionMode = SelectionMode.Single; sfGrid.AllowGroupExpandCollapse = true; sfGrid.AutoGeneratingColumn += OnAutoGenerateColumn; sfGrid.AllowResizingColumn = true; sfGrid.VerticalOverScrollMode = VerticalOverScrollMode.None; sfGrid.ColumnSizer = ColumnSizer.Auto; // Multi-Grouping sfGrid.GroupingMode = GroupingMode.Multiple; sfGrid.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = "Product" }); sfGrid.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = "ProductModel" }); // GroupSummary codes GridGroupSummaryRow groupSummaryRow = new GridGroupSummaryRow(); groupSummaryRow.Title = "Total items:{Total} items"; groupSummaryRow.ShowSummaryInRow = true; GridSummaryColumn groupSummaryColumn = new GridSummaryColumn(); groupSummaryColumn.Name = "Total"; groupSummaryColumn.MappingName = "OrderID"; groupSummaryColumn.Format = "{Count}"; groupSummaryColumn.SummaryType = Syncfusion.Data.SummaryType.CountAggregate; groupSummaryRow.SummaryColumns.Add(groupSummaryColumn); sfGrid.GroupSummaryRows.Add(groupSummaryRow); // TableSummary codes GridTableSummaryRow summaryRow = new GridTableSummaryRow(); summaryRow.Title = "Total items:{Total} items"; summaryRow.ShowSummaryInRow = true; summaryRow.Position = Position.Bottom; GridSummaryColumn summaryColumn = new GridSummaryColumn(); summaryColumn.Name = "Total"; summaryColumn.MappingName = "OrderID"; summaryColumn.Format = "{Count}"; summaryColumn.SummaryType = Syncfusion.Data.SummaryType.CountAggregate; summaryRow.SummaryColumns.Add(summaryColumn); sfGrid.TableSummaryRows.Add(summaryRow); return(sfGrid); }
public Grouping() { this.SfGrid = new SfDataGrid(); this.SfGrid.SelectionMode = SelectionMode.Single; this.SfGrid.ItemsSource = new GroupingViewModel().ProductDetails; this.SfGrid.AutoGeneratingColumn += GridAutoGenerateColumns; this.SfGrid.HeaderRowHeight = 45; this.SfGrid.RowHeight = 45; this.SfGrid.AllowGroupExpandCollapse = true; this.SfGrid.AllowResizingColumn = true; // Multi-Grouping this.SfGrid.GroupingMode = GroupingMode.Multiple; this.SfGrid.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = "Product" }); this.SfGrid.GroupColumnDescriptions.Add(new GroupColumnDescription() { ColumnName = "ProductModel" }); // GroupSummary codes GridGroupSummaryRow groupSummaryRow = new GridGroupSummaryRow(); groupSummaryRow.Title = "Total items:{Total} items"; groupSummaryRow.ShowSummaryInRow = true; GridSummaryColumn groupSummaryColumn = new GridSummaryColumn(); groupSummaryColumn.Name = "Total"; groupSummaryColumn.MappingName = "Product"; groupSummaryColumn.Format = "{Count}"; groupSummaryColumn.SummaryType = Syncfusion.Data.SummaryType.CountAggregate; groupSummaryRow.SummaryColumns.Add(groupSummaryColumn); SfGrid.GroupSummaryRows.Add(groupSummaryRow); //TableSummary codes GridTableSummaryRow summaryRow = new GridTableSummaryRow(); summaryRow.Title = "Total items:{Total} items"; summaryRow.ShowSummaryInRow = true; summaryRow.Position = Position.Bottom; GridSummaryColumn summaryColumn = new GridSummaryColumn(); summaryColumn.Name = "Total"; summaryColumn.MappingName = "ProductID"; summaryColumn.Format = "{Count}"; summaryColumn.SummaryType = Syncfusion.Data.SummaryType.CountAggregate; summaryRow.SummaryColumns.Add(summaryColumn); this.SfGrid.TableSummaryRows.Add(summaryRow); this.AddSubview(SfGrid); }
private void CreateDataGrid() { _dataGrid = new SfDataGrid { EnableDataVirtualization = true, AutoGenerateColumns = false, AutoExpandGroups = false, AllowGroupExpandCollapse = true, LiveDataUpdateMode = LiveDataUpdateMode.AllowSummaryUpdate, SelectionMode = Syncfusion.SfDataGrid.XForms.SelectionMode.SingleDeselect, NavigationMode = NavigationMode.Cell, FrozenColumnsCount = 2, EditTapAction = TapAction.OnTap, GridStyle = new BudgetDataGridStyle() }; _dataGrid.SortComparers.Add(new SortComparer { PropertyName = "Category.Name", Comparer = new BudgetCategorySortComparer() }); _dataGrid.CurrentCellEndEdit += DataGrid_CurrentCellEndEdit; _dataGrid.GroupColumnDescriptions.Add(new GroupColumnDescription { ColumnName = "Category.Name", }); var gridSummaryRow = new GridGroupSummaryRow { ShowSummaryInRow = true, Title = "{Key}: {Total}", SummaryColumns = new ObservableCollection <ISummaryColumn> { new GridSummaryColumn { Name = "Total", MappingName = "Subcat.Value", SummaryType = SummaryType.Custom, CustomAggregate = new CurrencyDataGridHeader(), Format = "{Currency}", } }, }; _dataGrid.CaptionSummaryRow = gridSummaryRow; _dataGrid.CaptionSummaryTemplate = new DataTemplate(() => { var stackLayout = new StackLayout { Orientation = StackOrientation.Horizontal, Margin = new Thickness(5, 0) }; var label = new Label { FontFamily = "FiraSans-Regular.otf#Fira Sans Regular", VerticalTextAlignment = TextAlignment.Center, FontSize = 16, TextColor = Color.Black }; var icon = new Image { HeightRequest = 25 }; icon.SetBinding(Image.SourceProperty, new Binding(".", BindingMode.Default, new BudgetGridIconConverter(), _dataGrid)); var converter = new BudgetDataGridSummaryConverter(); var binding = new Binding(".", BindingMode.Default, converter, _dataGrid); label.SetBinding(Label.TextProperty, binding); stackLayout.Children.Add(icon); stackLayout.Children.Add(label); return(new ViewCell { View = stackLayout }); }); _dataGrid.Columns.Add(new GridTextColumn { MappingName = "Subcat.Name", HeaderText = "Kategoria", Width = 100, HeaderFont = "FiraSans-Bold.otf#Fira Sans Bold", RecordFont = "FiraSans-Regular.otf#Fira Sans Regular", HeaderCellTextSize = 16, LoadUIView = true }); _dataGrid.Columns.Add(new GridNumericColumn { MappingName = "SubcatReal.Value", HeaderText = "Suma", HeaderFont = "FiraSans-Bold.otf#Fira Sans Bold", RecordFont = "FiraSans-Bold.otf#Fira Sans Bold", LoadUIView = true, CellTextSize = 10, HeaderCellTextSize = 16, DisplayBinding = new Binding() { Path = "SubcatReal.Value", Converter = new CurrencyValueConverter() } }); for (int i = 0; i < 31; i++) { _dataGrid.Columns.Add(new GridNumericColumn { MappingName = $"SubcatReal.Values[{i}].Value", HeaderText = (i + 1).ToString(), AllowEditing = true, //LoadUIView = true, HeaderFont = "FiraSans-Bold.otf#Fira Sans Bold", RecordFont = "FiraSans-Regular.otf#Fira Sans Regular", CellTextSize = 10, HeaderCellTextSize = 16, HeaderFontAttribute = FontAttributes.Bold, DisplayBinding = new Binding() { Path = $"SubcatReal.Values[{i}].Value", Converter = new CurrencyValueConverter() } }); } _dataGrid.SetBinding(SfDataGrid.ItemsSourceProperty, nameof(BudgetData)); mainLayout.Children.Add(_dataGrid); }