IwbDataColumn.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. using System;
  2. using System.Data;
  3. using IwbZero.IwbBase;
  4. using IwbZero.ToolCommon.StringModel;
  5. namespace IwbZero.IwbDataQuery
  6. {
  7. public class IwbDataColumn : IwbDataRow, IIwbId
  8. {
  9. private IwbIdName _IdName;
  10. private IwbDataType _iwbDataType;
  11. //public IwbDataColumn(npSession poSession)
  12. //{
  13. // _Session = poSession;
  14. //}
  15. public override bool Equals(object poSource)
  16. {
  17. bool flag = false;
  18. if (poSource is IwbDataColumn)
  19. {
  20. flag = ((IwbDataColumn)poSource).ColumnId.UAndT() == ColumnId.UAndT();
  21. }
  22. return flag;
  23. }
  24. public string GetDisplayString(string pcStandardValue)
  25. {
  26. //if (Formator != null)
  27. //{
  28. // return Formator.ConvertFromStandard(pcStandardValue);
  29. //}
  30. if (IwbDataType != null)
  31. {
  32. return IwbDataType.TranslateValue(pcStandardValue);
  33. }
  34. return pcStandardValue;
  35. }
  36. public override int GetHashCode()
  37. {
  38. return ColumnId.GetHashCode();
  39. }
  40. public bool loadFromTableById(DataTable dt, string pcColumnId)
  41. {
  42. for (int i = 0; i < dt.Rows.Count; i++)
  43. {
  44. if (dt.Rows[i][cn.ColumnId].ToString().Trim().ToUpper() == pcColumnId.Trim().ToUpper())
  45. {
  46. loadFromTable(dt, i);
  47. return true;
  48. }
  49. }
  50. return false;
  51. }
  52. public override string ToString()
  53. {
  54. return ColumnName;
  55. }
  56. public string CharacterType =>GetString(cn.CharacterType);
  57. public string ColumnDesc =>GetString(cn.ColumnDesc);
  58. public string ColumnId =>GetString(cn.ColumnId);
  59. public string ColumnName =>GetString(cn.ColumnName);
  60. public int ColumnNumber =>GetInt(cn.ColumnNumber);
  61. public string DataType =>GetString(cn.DataType);
  62. public string Id
  63. {
  64. get => ColumnId;
  65. set
  66. {
  67. }
  68. }
  69. public IwbIdName IdName
  70. {
  71. get
  72. {
  73. if ((_IdName != null) && (_IdName.Id.UAndT() != ColumnId.UAndT()))
  74. {
  75. _IdName = null;
  76. }
  77. if (_IdName != null) return _IdName;
  78. _IdName = new IwbIdName(ColumnId, ColumnName);
  79. return _IdName;
  80. }
  81. }
  82. public IwbDataType IwbDataType => _iwbDataType ?? (_iwbDataType = new IwbDataType(DataType));
  83. public static string GetBaseColumn(string pcFieldName)
  84. {
  85. string str = pcFieldName;
  86. int index = pcFieldName.IndexOf("__", StringComparison.Ordinal);
  87. if (index >= 0)
  88. {
  89. str = pcFieldName.Substring(index + 2).Trim();
  90. }
  91. return str;
  92. }
  93. }
  94. public class cn
  95. {
  96. public static string CharacterType = "CharacterType";
  97. public static string ChildFields = "ChildFields";
  98. public static string ChildTable = "ChildTable";
  99. public static string ClassType = "ClassType";
  100. public static string ColumnDesc = "ColumnDesc";
  101. //public static string ColumnFormat = "ColumnFormat";
  102. public static string ColumnId = "ColumnId";
  103. public static string ColumnName = "ColumnName";
  104. public static string ColumnNumber = "ColumnNumber";
  105. public static string ColumnOrder = "ColumnOrder";
  106. public static string ColumnPropName = "ColumnPropName";
  107. public static string ColumnSecurityType = "ColumnSecurityType";
  108. public static string ColumnZoom = "ColumnZoom";
  109. public static string DataSource = "DataSource";
  110. public static string DataType = "DataType";
  111. public static string DataViewContent = "DataViewContent";
  112. public static string DataViewDesc = "DataViewDesc";
  113. public static string DataViewId = "DataViewId";
  114. public static string DataViewName = "DataViewName";
  115. }
  116. }