LogikalProjectCentreGrid.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using System.Linq;
  3. using Comal.Classes;
  4. using InABox.DynamicGrid;
  5. using InABox.Logikal;
  6. namespace PRSDesktop;
  7. public class LogikalProjectCentreGrid : LogikalGrid<LogikalProjectCentre>
  8. {
  9. protected override void Init()
  10. {
  11. base.Init();
  12. HiddenColumns.Add(x => x.ID);
  13. }
  14. protected override void DoGet(LogikalClient client, IProgress<string> progress)
  15. {
  16. client.GetProjectCentres()
  17. .Always(NotifyResponseReceived)
  18. .Success<LogikalProjectCentresResponse<LogikalProjectCentre, LogikalProject>>(c =>
  19. {
  20. Items = c.ProjectCentres.ToList();
  21. });
  22. }
  23. //protected override void AfterGet()
  24. //{
  25. // base.AfterGet();
  26. // Refresh(false, true);
  27. //}
  28. private DynamicGridTreeUIComponent<LogikalProjectCentre, Guid>? _uiComponent;
  29. private DynamicGridTreeUIComponent<LogikalProjectCentre, Guid> UIComponent
  30. {
  31. get
  32. {
  33. if(_uiComponent is null)
  34. {
  35. _uiComponent = new DynamicGridTreeUIComponent<LogikalProjectCentre, Guid>(
  36. x => x.ID,
  37. x => x.ParentID,
  38. Guid.Empty)
  39. {
  40. Parent = this,
  41. MaxRowHeight = 30,
  42. };
  43. }
  44. return _uiComponent;
  45. }
  46. }
  47. protected override IDynamicGridUIComponent<LogikalProjectCentre> CreateUIComponent()
  48. {
  49. return UIComponent;
  50. }
  51. }