QuoteDiagramGrid.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. using System;
  2. using Comal.Classes;
  3. using InABox.Core;
  4. using InABox.DynamicGrid;
  5. namespace PRSDesktop
  6. {
  7. internal class QuoteDiagramGrid : DynamicDataGrid<QuoteDiagram>
  8. {
  9. private Guid _quoteid;
  10. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  11. {
  12. base.DoReconfigure(options);
  13. options.AddRange(DynamicGridOption.RecordCount, DynamicGridOption.SelectColumns);
  14. }
  15. public Guid QuoteID
  16. {
  17. get => _quoteid;
  18. set
  19. {
  20. _quoteid = value;
  21. Refresh(false, true);
  22. }
  23. }
  24. protected override void Reload(Filters<QuoteDiagram> criteria, Columns<QuoteDiagram> columns, ref SortOrder<QuoteDiagram>? sort, Action<CoreTable?, Exception?> action)
  25. {
  26. criteria.Add(_quoteid == Guid.Empty
  27. ? new Filter<QuoteDiagram>().None()
  28. : new Filter<QuoteDiagram>(x => x.Quote.ID).IsEqualTo(_quoteid));
  29. base.Reload(criteria, columns, ref sort, action);
  30. }
  31. public override QuoteDiagram CreateItem()
  32. {
  33. var result = base.CreateItem();
  34. result.Quote.ID = _quoteid;
  35. return result;
  36. }
  37. }
  38. }