MeetingMotionGrid.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Threading;
  5. using Comal.Classes;
  6. using InABox.Clients;
  7. using InABox.Core;
  8. using InABox.DynamicGrid;
  9. namespace PRSDesktop;
  10. public class MeetingMotionGrid :DynamicDataGrid<MeetingMotion>
  11. {
  12. public MeetingModel? Model { get; set; }
  13. public MeetingMotionGrid()
  14. {
  15. }
  16. protected override void DoReconfigure(DynamicGridOptions options)
  17. {
  18. base.DoReconfigure(options);
  19. options.Clear();
  20. options.SelectColumns = true;
  21. }
  22. protected override void Reload(
  23. Filters<MeetingMotion> criteria, Columns<MeetingMotion> columns, ref SortOrder<MeetingMotion>? sort,
  24. CancellationToken token, Action<CoreTable?, Exception?> action)
  25. {
  26. var meetingfilter = (Model == null) || (Model.ID == Guid.Empty)
  27. ? new Filter<MeetingMotion>().None()
  28. : Filter<MeetingMotion>.Where(x => x.Item.Meeting.ID).IsEqualTo(Model.ID);
  29. criteria.Add(meetingfilter);
  30. base.Reload(criteria, columns, ref sort, token, action);
  31. }
  32. }