DynamicGridColumn.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows;
  4. using InABox.Core;
  5. namespace InABox.DynamicGrid
  6. {
  7. public class ColumnNameGenerator : LookupGenerator<object>
  8. {
  9. public ColumnNameGenerator(object[] items) : base(items)
  10. {
  11. //DynamicGridColumns cols = new DynamicGridColumns();
  12. //cols.ExtractColumns(type, "");
  13. //foreach (DynamicGridColumn col in cols.Where(x => (x.Editor != null) && (x.Editor.Visible != Visible.Disabled)))
  14. // AddValue(col.ColumnName, col.ColumnName);
  15. }
  16. }
  17. public class DynamicGridColumn : DynamicColumnBase
  18. {
  19. public DynamicGridColumn()
  20. {
  21. Editor = new NullEditor();
  22. }
  23. [ComboLookupEditor(typeof(ColumnNameGenerator), Visible = Visible.Default)]
  24. [EditorSequence(1)]
  25. public string ColumnName { get; set; }
  26. [EditorSequence(2)]
  27. [IntegerEditor(Visible = Visible.Default)]
  28. public int Width { get; set; }
  29. [EditorSequence(3)]
  30. [TextBoxEditor(Visible = Visible.Default)]
  31. public string Caption { get; set; }
  32. [EditorSequence(4)]
  33. [TextBoxEditor(Width = 60, Visible = Visible.Default)]
  34. public string Format { get; set; }
  35. [EnumLookupEditor(typeof(Alignment), Width = 100, Visible = Visible.Default)]
  36. [EditorSequence(5)]
  37. public Alignment Alignment { get; set; }
  38. public BaseEditor Editor { get; set; }
  39. public VerticalAlignment VerticalAlignment() => Alignment.VerticalAlignment();
  40. public HorizontalAlignment HorizontalAlignment(Type datatype) => Alignment.HorizontalAlignment(datatype);
  41. public override string ToString()
  42. {
  43. return ColumnName;
  44. }
  45. }
  46. }