LogikalProjectCentreGrid.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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>? _uiComponent;
  29. private DynamicGridTreeUIComponent<LogikalProjectCentre> UIComponent
  30. {
  31. get
  32. {
  33. if(_uiComponent is null)
  34. {
  35. _uiComponent = new DynamicGridTreeUIComponent<LogikalProjectCentre>(
  36. x => x.ID,
  37. x => x.ParentID)
  38. {
  39. Parent = this,
  40. MaxRowHeight = 30,
  41. };
  42. }
  43. return _uiComponent;
  44. }
  45. }
  46. protected override IDynamicGridUIComponent<LogikalProjectCentre> CreateUIComponent()
  47. {
  48. return UIComponent;
  49. }
  50. }