StockHoldingRelocationGrid.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using InABox.Core;
  2. using InABox.DynamicGrid;
  3. using Microsoft.CodeAnalysis.VisualBasic.Syntax;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows;
  10. namespace PRSDesktop.Panels.Products.Locations;
  11. public class StockHoldingRelocationItem : JobRequisitionItemSelectionItem
  12. {
  13. public string ItemNumber { get; set; }
  14. public string Text { get; set; }
  15. }
  16. public class StockHoldingRelocationGrid : JobRequisitionItemSelectionGrid<StockHoldingRelocationItem>
  17. {
  18. public override DynamicGridColumns GenerateColumns()
  19. {
  20. var columns = new DynamicGridColumns();
  21. columns.Add<StockHoldingRelocationItem, string>(x => x.ItemNumber, 50, "#", "", Alignment.MiddleCenter);
  22. columns.Add<StockHoldingRelocationItem, string>(x => x.Text, 0, "Description", "", Alignment.MiddleLeft);
  23. return columns;
  24. }
  25. private new class UIComponent : JobRequisitionItemSelectionGrid<StockHoldingRelocationItem>.UIComponent
  26. {
  27. public UIComponent(JobRequisitionItemSelectionGrid<StockHoldingRelocationItem> grid) : base(grid)
  28. {
  29. }
  30. private Column<StockHoldingRelocationItem> ItemNumberColumn = new(x => x.ItemNumber);
  31. protected override FontWeight? GetCellFontWeight(CoreRow row, DynamicColumnBase column)
  32. {
  33. if(column is DynamicGridColumn gridColumn)
  34. {
  35. if (ItemNumberColumn.IsEqualTo(gridColumn.ColumnName))
  36. {
  37. return FontWeights.Bold;
  38. }
  39. }
  40. return base.GetCellFontWeight(row, column);
  41. }
  42. }
  43. protected override IDynamicGridUIComponent<StockHoldingRelocationItem> CreateUIComponent()
  44. {
  45. return new UIComponent(this);
  46. }
  47. }