/// <summary> /// Grid Settings for better Look and Feel. /// </summary> private void GridSettings() { //Initialize the unbound column GridUnboundColumn column = new GridUnboundColumn(); column.CaseSensitive = false; column.AllowEditing = false; column.MappingName = "GrandTotal"; column.HeaderText = "Grand Total"; column.Expression = "Quantity*Amount"; column.Format = "{0:C}"; column.CellStyle = new CellStyleInfo() { BackColor = Color.LightGray, TextColor = Color.DarkBlue, HorizontalAlignment = HorizontalAlignment.Right }; sfDataGrid.Columns.Add(column); //Initialize the unbound column GridUnboundColumn column1 = new GridUnboundColumn(); column1.CaseSensitive = false; column1.AllowEditing = false; column1.MappingName = "DiscountAmount"; column1.HeaderText = "Discount Amount"; column1.Expression = "Amount*Discount/100"; column1.Format = "{0:C}"; column1.CellStyle = new CellStyleInfo() { BackColor = Color.LightGray, TextColor = Color.DarkBlue, HorizontalAlignment = HorizontalAlignment.Right }; sfDataGrid.Columns.Add(column1); //Initialize the unbound column GridUnboundColumn column2 = new GridUnboundColumn(); column2.CaseSensitive = false; column2.AllowEditing = false; column2.HeaderText = "Product Amount"; column2.MappingName = "AmountForProduct"; column2.Format = "{Amount} for {Product}"; column2.CellStyle = new CellStyleInfo() { BackColor = Color.LightGray, TextColor = Color.DarkBlue, HorizontalAlignment = HorizontalAlignment.Right }; sfDataGrid.Columns.Add(column2); }
public override Android.Views.View GetSampleContent(Android.Content.Context context) { LinearLayout linear = new LinearLayout(context); linear.Orientation = Android.Widget.Orientation.Vertical; sfGrid = new SfDataGrid(context); sfGrid.VerticalOverScrollMode = VerticalOverScrollMode.None; sfGrid.SelectionMode = SelectionMode.Multiple; viewModel = new SalesInfoViewModel(); sfGrid.AutoGenerateColumns = false; sfGrid.ItemsSource = viewModel.DailySalesDetails; sfGrid.AllowResizingColumn = true; sfGrid.VerticalOverScrollMode = VerticalOverScrollMode.None; sfGrid.CellRenderers.Remove("Unbound"); sfGrid.CellRenderers.Add("Unbound", new UnboundColumnRenderer()); sfGrid.Alpha = 0.87f; sfGrid.SelectedIndex = 3; sfGrid.GridStyle = new UnboundRowstyle(); sfGrid.ColumnSizer = ColumnSizer.Star; sfGrid.UnboundRows.Add(new GridUnboundRow() { Position = UnboundRowsPosition.FixedBottom }); sfGrid.QueryUnboundRow += SfGrid_QueryUnboundRow; sfGrid.QueryRowHeight += SfGrid_QueryRowHeight; sfGrid.SelectionChanged += SfGrid_SelectionChanged; if (MainActivity.IsTablet) { this.sfGrid.UnboundRows.Insert(0, new GridUnboundRow() { Position = UnboundRowsPosition.FixedTop }); this.sfGrid.UnboundRows.Insert(0, new GridUnboundRow() { Position = UnboundRowsPosition.Top }); } GridTextColumn EmployeeName = new GridTextColumn(); EmployeeName.HeaderText = "Employee"; EmployeeName.TextAlignment = GravityFlags.CenterVertical | GravityFlags.Left; EmployeeName.HeaderTextAlignment = GravityFlags.CenterVertical | GravityFlags.Left; EmployeeName.HeaderCellTextSize = 12; EmployeeName.MappingName = "Name"; EmployeeName.LoadUIView = true; sfGrid.Columns.Add(EmployeeName); GridTextColumn QS1 = new GridTextColumn(); QS1.LoadUIView = true; QS1.HeaderText = "2015"; QS1.Format = "C"; QS1.LineBreakMode = LineBreakMode.NoWrap; QS1.HeaderTextAlignment = GravityFlags.CenterVertical | GravityFlags.Left; QS1.HeaderCellTextSize = 12; QS1.TextAlignment = GravityFlags.CenterVertical | GravityFlags.Right; QS1.MappingName = "QS1"; if (MainActivity.IsTablet) { sfGrid.Columns.Add(QS1); } GridTextColumn QS2 = new GridTextColumn(); QS2.LoadUIView = true; QS2.HeaderText = "2016"; QS2.Format = "C"; QS2.LineBreakMode = LineBreakMode.NoWrap; QS2.HeaderTextAlignment = GravityFlags.CenterVertical | GravityFlags.Left; QS2.HeaderCellTextSize = 12; QS2.TextAlignment = GravityFlags.CenterVertical | GravityFlags.Right; QS2.MappingName = "QS2"; sfGrid.Columns.Add(QS2); GridTextColumn QS3 = new GridTextColumn(); QS3.LoadUIView = true; QS3.HeaderText = "2017"; QS3.Format = "C"; QS3.LineBreakMode = LineBreakMode.NoWrap; QS3.HeaderTextAlignment = GravityFlags.CenterVertical | GravityFlags.Left; QS3.HeaderCellTextSize = 12; QS3.TextAlignment = GravityFlags.CenterVertical | GravityFlags.Right; QS3.MappingName = "QS3"; sfGrid.Columns.Add(QS3); GridUnboundColumn Total = new GridUnboundColumn(); Total.TextAlignment = GravityFlags.Right | GravityFlags.CenterVertical; if (MainActivity.IsTablet) { Total.Expression = "(QS1 + QS2 + QS3 )"; } else { Total.Expression = "(QS2 + QS3)"; } Total.Format = "C"; Total.LineBreakMode = LineBreakMode.NoWrap; Total.HeaderText = "Total"; Total.HeaderTextAlignment = GravityFlags.Left | GravityFlags.CenterVertical; Total.HeaderCellTextSize = 12; Total.HeaderFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); Total.RecordFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); Total.TextAlignment = GravityFlags.Center; Total.MappingName = "Total"; Total.LoadUIView = true; sfGrid.Columns.Add(Total); linear.AddView(sfGrid); return(linear); }
public UnboundColumn() { this.SfGrid = new SfDataGrid(); this.viewModel = new SalesInfoViewModel(); this.SfGrid.ColumnSizer = ColumnSizer.Star; this.SfGrid.AutoGenerateColumns = false; this.SfGrid.ItemsSource = viewModel.DailySalesDetails; this.SfGrid.HeaderRowHeight = 45; this.SfGrid.RowHeight = 45; this.SfGrid.SelectionMode = SelectionMode.Multiple; this.SfGrid.SelectedIndex = 3; this.SfGrid.AllowResizingColumn = true; this.SfGrid.GridStyle = new UnboundRowStyle(); SfGrid.CellRenderers.Remove("Unbound"); SfGrid.CellRenderers.Add("Unbound", new UnboundColumnRenderer()); SfGrid.UnboundRows.Add(new GridUnboundRow() { Position = UnboundRowsPosition.FixedBottom }); SfGrid.QueryUnboundRow += SfGrid_QueryUnboundRow; SfGrid.SelectionChanged += SfGrid_SelectionChanged; SfGrid.QueryRowHeight += SfGrid_QueryRowHeight; GridTextColumn EmployeeName = new GridTextColumn(); EmployeeName.HeaderText = "Employee"; EmployeeName.TextAlignment = UITextAlignment.Left; EmployeeName.HeaderTextAlignment = UITextAlignment.Center; EmployeeName.HeaderCellTextSize = 12; EmployeeName.MappingName = "Name"; SfGrid.Columns.Add(EmployeeName); GridTextColumn QS1 = new GridTextColumn(); QS1.HeaderText = "2015"; QS1.Format = "C"; QS1.HeaderTextAlignment = UITextAlignment.Center; QS1.HeaderCellTextSize = 12; QS1.TextAlignment = UITextAlignment.Right; QS1.MappingName = "QS1"; if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad) { this.SfGrid.UnboundRows.Insert(0, new GridUnboundRow() { Position = UnboundRowsPosition.FixedTop }); this.SfGrid.UnboundRows.Insert(0, new GridUnboundRow() { Position = UnboundRowsPosition.Top }); SfGrid.Columns.Add(QS1); } GridTextColumn QS2 = new GridTextColumn(); QS2.HeaderText = "2016"; QS2.Format = "C"; QS2.HeaderTextAlignment = UITextAlignment.Center; QS2.HeaderCellTextSize = 12; QS2.TextAlignment = UITextAlignment.Right; QS2.MappingName = "QS2"; SfGrid.Columns.Add(QS2); GridTextColumn QS3 = new GridTextColumn(); QS3.HeaderText = "2017"; QS3.Format = "C"; QS3.HeaderTextAlignment = UITextAlignment.Center; QS3.HeaderCellTextSize = 12; QS3.TextAlignment = UITextAlignment.Right; QS3.MappingName = "QS3"; SfGrid.Columns.Add(QS3); GridUnboundColumn Total = new GridUnboundColumn(); Total.TextAlignment = UITextAlignment.Center; if (UserInterfaceIdiomIsPhone) { Total.Expression = "(QS2 + QS3)"; } else { Total.Expression = "(QS1 + QS2 + QS3 )"; } Total.Format = "C"; Total.HeaderText = "Total"; Total.HeaderTextAlignment = UITextAlignment.Center; Total.HeaderCellTextSize = 12; Total.TextAlignment = UITextAlignment.Center; Total.MappingName = "Total"; SfGrid.Columns.Add(Total); foreach (GridColumn column in SfGrid.Columns) { if (UserInterfaceIdiomIsPhone) { SfGrid.ColumnSizer = ColumnSizer.None; } else { SfGrid.ColumnSizer = ColumnSizer.Star; } } this.AddSubview(SfGrid); }
public UnboundColumn() { this.SfGrid = new SfDataGrid(); this.SfGrid.ColumnSizer = ColumnSizer.Auto; this.SfGrid.SelectionMode = SelectionMode.Single; this.SfGrid.AutoGenerateColumns = false; this.SfGrid.ItemsSource = new UnboundViewModel().Products; this.SfGrid.HeaderRowHeight = 45; this.SfGrid.RowHeight = 45; this.SfGrid.GridStyle = new Blue(); this.SfGrid.AllowResizingColumn = true; this.SfGrid.GridStyle = new CustomGridStyle(); SfGrid.CellRenderers.Remove("Unbound"); SfGrid.CellRenderers.Add("Unbound", new UnboundColumnRenderer()); SfGrid.CellRenderers.Remove("TextView"); SfGrid.CellRenderers.Add("TextView", new TextRenderer()); GridTextColumn ProductName = new GridTextColumn(); ProductName.HeaderText = "Product Name"; ProductName.LineBreakMode = UILineBreakMode.WordWrap; ProductName.TextAlignment = UITextAlignment.Left; ProductName.HeaderTextAlignment = UITextAlignment.Center; //ProductName.HeaderCellTextSize = 12; ProductName.MappingName = "ProductName"; SfGrid.Columns.Add(ProductName); GridTextColumn UnitPrice = new GridTextColumn(); UnitPrice.HeaderText = "Price"; UnitPrice.Format = "C"; UnitPrice.HeaderTextAlignment = UITextAlignment.Center; //UnitPrice.HeaderCellTextSize = 12; UnitPrice.TextAlignment = UITextAlignment.Center; UnitPrice.MappingName = "UnitPrice"; SfGrid.Columns.Add(UnitPrice); GridTextColumn Quantity = new GridTextColumn(); Quantity.HeaderText = "Quantity"; Quantity.HeaderTextAlignment = UITextAlignment.Center; //Quantity.HeaderCellTextSize = 12; Quantity.MappingName = "Quantity"; Quantity.TextAlignment = UITextAlignment.Center; SfGrid.Columns.Add(Quantity); GridTextColumn Discount = new GridTextColumn(); Discount.TextAlignment = UITextAlignment.Center; Discount.HeaderText = "Discount"; Discount.HeaderTextAlignment = UITextAlignment.Center; Discount.HeaderCellTextSize = UIFont.SystemFontOfSize(12); Discount.TextAlignment = UITextAlignment.Center; Discount.MappingName = "Discount"; SfGrid.Columns.Add(Discount); GridUnboundColumn Total = new GridUnboundColumn(); Total.TextAlignment = UITextAlignment.Center; Total.Expression = "(Quantity * UnitPrice) - ((Quantity * UnitPrice)/100 * Quantity)"; Total.Format = "C"; Total.HeaderText = "Total"; Total.TextAlignment = UITextAlignment.Center; Total.MappingName = "Total"; SfGrid.Columns.Add(Total); foreach (GridColumn column in SfGrid.Columns) { if (UserInterfaceIdiomIsPhone) { SfGrid.ColumnSizer = ColumnSizer.None; } else { SfGrid.ColumnSizer = ColumnSizer.Star; } } this.AddSubview(SfGrid); }
public override Android.Views.View GetSampleContent(Android.Content.Context context) { LinearLayout linear = new LinearLayout(context); linear.Orientation = Android.Widget.Orientation.Vertical; sfGrid = new SfDataGrid(context); viewModel = new UnboundColumnViewModel(); viewModel.SetRowstoGenerate(100); sfGrid.AutoGenerateColumns = false; sfGrid.ItemsSource = viewModel.Products; sfGrid.AllowResizingColumn = true; sfGrid.VerticalOverScrollMode = VerticalOverScrollMode.None; sfGrid.CellRenderers.Remove("Unbound"); sfGrid.CellRenderers.Add("Unbound", new UnboundColumnRenderer()); sfGrid.Alpha = 0.87f; GridTextColumn ProductName = new GridTextColumn(); ProductName.HeaderText = "Product"; ProductName.TextAlignment = GravityFlags.CenterVertical; ProductName.HeaderTextAlignment = GravityFlags.Center; ProductName.HeaderCellTextSize = 12; ProductName.MappingName = "ProductName"; sfGrid.Columns.Add(ProductName); GridTextColumn UnitPrice = new GridTextColumn(); UnitPrice.HeaderText = "Price"; UnitPrice.Format = "C"; UnitPrice.HeaderTextAlignment = GravityFlags.Center; UnitPrice.HeaderCellTextSize = 12; UnitPrice.TextAlignment = GravityFlags.Center; UnitPrice.MappingName = "UnitPrice"; sfGrid.Columns.Add(UnitPrice); GridTextColumn Quantity = new GridTextColumn(); Quantity.HeaderText = "Quantity"; Quantity.HeaderTextAlignment = GravityFlags.Center; Quantity.HeaderCellTextSize = 12; Quantity.MappingName = "Quantity"; Quantity.TextAlignment = GravityFlags.Center; sfGrid.Columns.Add(Quantity); //GridUnboundColumn Amount = new GridUnboundColumn(); //Amount.HeaderText = "Amount"; //Amount.TextAlignment = GravityFlags.Left; //Amount.Expression = "UnitPrice * Quantity"; //Amount.Format = "C"; //Amount.HeaderTextAlignment = GravityFlags.Center; //Amount.TextAlignment = GravityFlags.Center; //Amount.HeaderCellTextSize = 13; //Amount.CellTextSize = 13; //Amount.HeaderFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); //Amount.RecordFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); //Amount.LoadUIView = true; //Amount.MappingName = "Amount"; //sfGrid.Columns.Add(Amount); GridTextColumn Discount = new GridTextColumn(); Discount.TextAlignment = GravityFlags.Left; Discount.Format = "p"; Discount.HeaderText = "Discount"; Discount.HeaderTextAlignment = GravityFlags.Center; Discount.HeaderCellTextSize = 12; Discount.CellTextSize = 12; Discount.HeaderFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); Discount.RecordFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); Discount.TextAlignment = GravityFlags.Center; Discount.MappingName = "Discount"; Discount.LoadUIView = true; sfGrid.Columns.Add(Discount); GridUnboundColumn Total = new GridUnboundColumn(); Total.TextAlignment = GravityFlags.Left; Total.Expression = "(Quantity * UnitPrice) - ((Quantity * UnitPrice)/100 * Quantity)"; Total.Format = "C"; Total.HeaderText = "Total"; Total.HeaderTextAlignment = GravityFlags.Center; Total.HeaderCellTextSize = 13; Total.CellTextSize = 13; Total.HeaderFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); Total.RecordFont = Typeface.Create("Roboto-Regular", TypefaceStyle.Normal); Total.TextAlignment = GravityFlags.Center; Total.MappingName = "Total"; Total.LoadUIView = true; sfGrid.Columns.Add(Total); foreach (GridColumn column in sfGrid.Columns) { if (MainActivity.IsTablet) { column.MaximumWidth = 300; } else { column.MaximumWidth = 150; } } linear.AddView(sfGrid); return(linear); }