QuoteProposalCostSheetGrid.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using Comal.Classes;
  3. using InABox.Core;
  4. using InABox.DynamicGrid;
  5. namespace PRSDesktop
  6. {
  7. public class QuoteProposalCostSheetGrid : DynamicDataGrid<QuoteProposalCostSheet>
  8. {
  9. public QuoteProposal Proposal { get; set; }
  10. public QuoteProposalCostSheetGrid()
  11. {
  12. HiddenColumns.Add(x => x.Proposal.ID);
  13. HiddenColumns.Add(x => x.Proposal.Quote.ID);
  14. }
  15. protected override void DoReconfigure(FluentList<DynamicGridOption> options)
  16. {
  17. base.DoReconfigure(options);
  18. options.AddRange(DynamicGridOption.RecordCount, DynamicGridOption.SelectColumns);
  19. }
  20. protected override void Reload(Filters<QuoteProposalCostSheet> criteria, Columns<QuoteProposalCostSheet> columns,
  21. ref SortOrder<QuoteProposalCostSheet> sort, Action<CoreTable, Exception> action)
  22. {
  23. criteria.Add(new Filter<QuoteProposalCostSheet>(x => x.Proposal.ID).IsEqualTo(Proposal.ID));
  24. base.Reload(criteria, columns, ref sort, action);
  25. }
  26. protected override QuoteProposalCostSheet CreateItem()
  27. {
  28. var result = base.CreateItem();
  29. result.Proposal.ID = Proposal.ID;
  30. result.Proposal.Synchronise(Proposal);
  31. return result;
  32. }
  33. }
  34. }