using System; using System.Data; using IwbZero.IwbBase; using IwbZero.ToolCommon.StringModel; namespace IwbZero.IwbDataQuery { public class IwbDataColumn : IwbDataRow, IIwbId { private IwbIdName _IdName; private IwbDataType _iwbDataType; //public IwbDataColumn(npSession poSession) //{ // _Session = poSession; //} public override bool Equals(object poSource) { bool flag = false; if (poSource is IwbDataColumn) { flag = ((IwbDataColumn)poSource).ColumnId.UAndT() == ColumnId.UAndT(); } return flag; } public string GetDisplayString(string pcStandardValue) { //if (Formator != null) //{ // return Formator.ConvertFromStandard(pcStandardValue); //} if (IwbDataType != null) { return IwbDataType.TranslateValue(pcStandardValue); } return pcStandardValue; } public override int GetHashCode() { return ColumnId.GetHashCode(); } public bool loadFromTableById(DataTable dt, string pcColumnId) { for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i][cn.ColumnId].ToString().Trim().ToUpper() == pcColumnId.Trim().ToUpper()) { loadFromTable(dt, i); return true; } } return false; } public override string ToString() { return ColumnName; } public string CharacterType =>GetString(cn.CharacterType); public string ColumnDesc =>GetString(cn.ColumnDesc); public string ColumnId =>GetString(cn.ColumnId); public string ColumnName =>GetString(cn.ColumnName); public int ColumnNumber =>GetInt(cn.ColumnNumber); public string DataType =>GetString(cn.DataType); public string Id { get => ColumnId; set { } } public IwbIdName IdName { get { if ((_IdName != null) && (_IdName.Id.UAndT() != ColumnId.UAndT())) { _IdName = null; } if (_IdName != null) return _IdName; _IdName = new IwbIdName(ColumnId, ColumnName); return _IdName; } } public IwbDataType IwbDataType => _iwbDataType ?? (_iwbDataType = new IwbDataType(DataType)); public static string GetBaseColumn(string pcFieldName) { string str = pcFieldName; int index = pcFieldName.IndexOf("__", StringComparison.Ordinal); if (index >= 0) { str = pcFieldName.Substring(index + 2).Trim(); } return str; } } public class cn { public static string CharacterType = "CharacterType"; public static string ChildFields = "ChildFields"; public static string ChildTable = "ChildTable"; public static string ClassType = "ClassType"; public static string ColumnDesc = "ColumnDesc"; //public static string ColumnFormat = "ColumnFormat"; public static string ColumnId = "ColumnId"; public static string ColumnName = "ColumnName"; public static string ColumnNumber = "ColumnNumber"; public static string ColumnOrder = "ColumnOrder"; public static string ColumnPropName = "ColumnPropName"; public static string ColumnSecurityType = "ColumnSecurityType"; public static string ColumnZoom = "ColumnZoom"; public static string DataSource = "DataSource"; public static string DataType = "DataType"; public static string DataViewContent = "DataViewContent"; public static string DataViewDesc = "DataViewDesc"; public static string DataViewId = "DataViewId"; public static string DataViewName = "DataViewName"; } }