绑定数值的容器 - DataBindDataSourceItemContainer

2017-02-26 21:13:01  访问(1916) 赞(0) 踩(0)

  • using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace SlowX.Core.DataSourceItems
    {
        /// <summary>
        /// 绑定数值的容器 - DataBindDataSourceItemContainer 
        /// </summary>
        [Serializable]
        public class DataBindDataSourceItemContainer
        {
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public DataBindDataSourceItemContainer()
            { 
            }
    
            /// <summary>
            /// 是否树结构
            /// </summary>
            protected bool m_IsTreeStructure = false;
    
            /// <summary>
            /// 是否树结构
            /// </summary>
            public bool IsTreeStructure
            {
                get
                {
                    return m_IsTreeStructure;
                }
                set
                {
                    m_IsTreeStructure = value;
                }
            }
    
            /// <summary>
            /// 列表容器
            /// </summary>
            protected List<DataBindDataSourceItem> m_theList = null;
    
            /// <summary>
            /// 获得列表容器
            /// </summary>
            /// <returns></returns>
            public List<DataBindDataSourceItem> GetList()
            {
                return m_theList;
            }
    
            /// <summary>
            /// 设置列表容器
            /// </summary>
            /// <param name="theValue"></param>
            public void SetList(List<DataBindDataSourceItem> theValue)
            {
                m_theList = theValue;
            }
        }
    }
    
    

  • using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Text;
    using SlowX.Core.Common;
    
    namespace SlowX.Core.DataSourceItems
    {
        /// <summary>
        /// 下拉框绑定数据源项 - DataBindDataSourceItem
        /// </summary>
        [Serializable]
        public class DataBindDataSourceItem
            :
            CommonDataSourceItem
        {
           
            /// <summary>
            /// 层次
            /// </summary>
            protected int m_Level = 1;
    
            /// <summary>
            /// 层次
            /// </summary>
            public int Level
            {
                get
                {
                    return m_Level;
                }
                set
                {
                    m_Level = value;
                }
            }
    
            /// <summary>
            /// 选择
            /// </summary>
            protected bool m_EnableSelect = true;
    
            /// <summary>
            /// 选择
            /// </summary>
            public bool EnableSelect
            {
                get
                {
                    return m_EnableSelect;
                }
                set
                {
                    m_EnableSelect = value;
                }
            }
    
            /// <summary>
            /// 全部选择
            /// </summary>
            public bool AllEnableSelect
            {
                get
                {
                    return true;
                }
            }
    
            /// <summary>
            /// 叶子个数
            /// </summary>
            protected int m_leafNum = 0;
    
            /// <summary>
            /// 叶子个数
            /// </summary>
            public int leafNum
            {
                get
                {
                    return m_leafNum;
                }
                set
                {
                    m_leafNum = value;
                }
            }
    
            /// <summary>
            /// 是叶子
            /// </summary>
            public bool IsLeaf
            {
                get
                {
                    return m_leafNum == 0;
                }
            }
    
            /// <summary>
            /// 不是叶子
            /// </summary>
            public bool IsNotLeaf
            {
                get
                {
                    return m_leafNum > 0;
                }
            }
    
    
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public DataBindDataSourceItem
                (
                )
            {
    
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="_ID"></param>
            /// <param name="_TheName"></param> 
            public DataBindDataSourceItem
                (
                    string _ID,
                    string _TheName 
                )
                :
                base(_ID, _TheName)
            {
    
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="_ID"></param>
            /// <param name="_TheName"></param> 
            /// <param name="_leafNum"></param>
            public DataBindDataSourceItem
                (
                    string _ID,
                    string _TheName,
                    int _leafNum 
                )
                :
                base(_ID, _TheName)
            {
                m_leafNum = _leafNum;
            }
    
    
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="_ID"></param>
            /// <param name="_TheName"></param>
            /// <param name="_Level"></param>
            /// <param name="_EnableSelect"></param>
            public DataBindDataSourceItem
                (
                    string _ID,
                    string _TheName,
                    int _Level,
                    bool _EnableSelect
                )
                :
                base(_ID, _TheName)
            {
                m_Level = _Level;
    
                m_EnableSelect = _EnableSelect;
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="_ID"></param>
            /// <param name="_TheName"></param>
            /// <param name="_Level"></param>
            /// <param name="_leafNum"></param>
            /// <param name="_EnableSelect"></param>
            public DataBindDataSourceItem
                (
                    string _ID,
                    string _TheName,
                    int _Level,
                    int _leafNum,
                    bool _EnableSelect
                )
                :
                base(_ID, _TheName)
            {
                m_Level = _Level;
    
                m_leafNum = _leafNum;
    
                m_EnableSelect = _EnableSelect;
            }
    
    
            /// <summary>
            /// DataSet 转成 List CommonDataSourceItem
            /// </summary>
            /// <param name="ds"></param>
            /// <returns></returns>
            public static List<DataBindDataSourceItem> StaticDataSetToListDataBindDataSourceItem(DataSet ds)
            {
                List<DataBindDataSourceItem> theResult = new List<DataBindDataSourceItem>();
    
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    theResult.Add
                        (
                            new DataBindDataSourceItem
                                (
                                    dr[DataColumnNameSlowXCoreCommon.ID].ToString(), 
                                    dr[DataColumnNameSlowXCoreCommon.TheName].ToString()
                                )
                        );
                }
    
                return theResult;
            }
        }
    }
    
    
  • using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Text;
    using SlowX.Core.Common;
    
    namespace SlowX.Core.DataSourceItems
    {
        /// <summary>
        /// 通俗数据源 - CommonDataSourceItem
        /// </summary>
        [Serializable]
        public class CommonDataSourceItem 
            :
            BasicDataSourceItem
        {
            /// <summary>
            /// ID
            /// </summary>
            protected string m_ID = string.Empty;
    
            /// <summary>
            /// ID
            /// </summary>
            public string ID
            {
                get
                {
                    return m_ID;
                }
                set
                {
                    m_ID = value;
                }
            }
    
            /// <summary>
            /// Long型的ID值
            /// </summary>
            /// <returns></returns>
            public long GetLongId()
            {
                return long.Parse(m_ID);
            }
    
            /// <summary>
            /// TheName
            /// </summary>
            protected string m_TheName = string.Empty;
    
            /// <summary>
            /// TheName
            /// </summary>
            public string TheName
            {
                get
                {
                    return m_TheName;
                }
                set
                {
                    m_TheName = value;
                }
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public CommonDataSourceItem()
            {
    
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="_ID"></param>
            /// <param name="_TheName"></param>
            public CommonDataSourceItem(string _ID, string _TheName)
            {
                m_ID = _ID;
    
                m_TheName = _TheName;
            }
    
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="dr"></param> 
            public CommonDataSourceItem(DataRow dr)
                :
                base(dr)
            {
                m_ID = dr[DataColumnNameSlowXCoreCommon.ID].ToString();
    
                m_TheName = dr[DataColumnNameSlowXCoreCommon.TheName].ToString();
            }
    
    
            /// <summary>
            /// 获得属性的值
            /// </summary>
            /// <param name="theName"></param>
            /// <returns></returns>
            public override object GetPropertyValue(string theName)
            {
                
                string lowerTheName = "";
                
                if (theName != null)
                    lowerTheName = theName.ToLower();
    
                switch (lowerTheName)
                {
                    case DataColumnLowerNameSlowXCoreCommon.id:
                        return ID;
                    case DataColumnLowerNameSlowXCoreCommon.thename:
                        return TheName;
                    default:
                        return base.GetPropertyValue(theName);
                }
            }
     
            /// <summary>
            /// 复制对象
            /// </summary>
            /// <returns></returns>
            public CommonDataSourceItem CopyCommonDataSourceItem()
            {
                return new CommonDataSourceItem(ID, TheName);
            }
    
            /// <summary>
            /// 复制List
            /// </summary>
            /// <param name="theList"></param>
            /// <returns></returns>
            public static List<CommonDataSourceItem> StaticCopyListCommonDataSourceItem(List<CommonDataSourceItem> theList)
            {
    
                List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
    
                foreach (CommonDataSourceItem item in theList)
                {
                    theResult.Add(item.CopyCommonDataSourceItem());
                }
    
                return theResult;
            }
    
    
            /// <summary>
            /// DataSet 转成 List CommonDataSourceItem
            /// </summary>
            /// <param name="ds"></param>
            /// <returns></returns>
            public static List<CommonDataSourceItem> StaticDataSetToListCommonDataSourceItem(DataSet ds)
            {
                List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
    
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    theResult.Add(new CommonDataSourceItem
                        (
                            dr[DataColumnNameSlowXCoreCommon.ID].ToString(),
                            dr[DataColumnNameSlowXCoreCommon.TheName].ToString())
                        );
                }
    
                return theResult;
            }
    
            /// <summary>
            /// DataTable 转成 List CommonDataSourceItem
            /// </summary>
            /// <param name="dt"></param>
            /// <returns></returns>
            public static List<CommonDataSourceItem> StaticDataTableToListCommonDataSourceItem
                (
                    DataTable dt
                )
            {
                List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
    
                foreach (DataRow dr in dt.Rows)
                {
                    theResult.Add(new CommonDataSourceItem
                        (
                            dr[DataColumnNameSlowXCoreCommon.ID].ToString(),
                            dr[DataColumnNameSlowXCoreCommon.TheName].ToString())
                        );
                }
    
                return theResult;
            }
    
    
            /// <summary>
            /// DataSet 转成 List CommonDataSourceItem
            /// </summary>
            /// <param name="ds"></param>
            /// <param name="dataColumnNameId"></param>
            /// <param name="dataColumnNameTheName"></param>
            /// <returns></returns>
            public static List<CommonDataSourceItem> StaticDataSetToListCommonDataSourceItem(DataSet ds, string dataColumnNameId, string dataColumnNameTheName)
            {
                List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
    
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    theResult.Add(new CommonDataSourceItem(dr[dataColumnNameId].ToString(), dr[dataColumnNameTheName].ToString()));
                }
    
                return theResult;
            }
    
            /// <summary>
            /// DataTable 转成 List CommonDataSourceItem
            /// </summary>
            /// <param name="ds"></param>
            /// <param name="dataColumnNameId"></param>
            /// <param name="dataColumnNameTheName"></param>
            /// <returns></returns>
            public static List<CommonDataSourceItem> StaticDataTableToListCommonDataSourceItem
                (
                    DataTable dt,
                    string dataColumnNameId,
                    string dataColumnNameTheName
                )
            {
                List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
    
                foreach (DataRow dr in dt.Rows)
                {
                    theResult.Add(new CommonDataSourceItem(dr[dataColumnNameId].ToString(), dr[dataColumnNameTheName].ToString()));
                }
    
                return theResult;
            }
        }
    }
    
    
  • using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Reflection;
    using System.Text;
    
    
    namespace SlowX.Core.DataSourceItems
    {
        /// <summary>
        /// 
        /// </summary>
        [Serializable]
        public class BasicDataSourceItem
        {
            /// <summary>
            /// 通俗数据源
            /// </summary>
            public BasicDataSourceItem()
            {
    
            }
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="dr"></param>
            public BasicDataSourceItem(DataRow dr)
            {
    
            }
    
            /// <summary>
            /// 获得属性的值
            /// </summary>
            /// <param name="_propertyName"></param>
            /// <returns></returns>
            public virtual object GetPropertyValue(string _propertyName)
            {
                Type thisType = this.GetType();
    
                PropertyInfo info = thisType.GetProperty(_propertyName, BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.IgnoreCase | BindingFlags.Instance);
    
                if (info == null)
                {
                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "PropertyInfo info = thisType.GetProperty(_propertyName[" + _propertyName + "]);为null"
                        );
                }
    
                return info.GetValue(this, null);
            }
    
            /// <summary>
            /// 获得String值
            /// </summary>
            /// <param name="_propertyName"></param>
            /// <returns></returns>
            public string GetPropertyStrValue(string _propertyName)
            {
                object o = GetPropertyValue(_propertyName);
    
                if (o == null)
                    return null;
    
                return o.ToString();
            }
    
            /// <summary>
            /// 设置属性值
            /// </summary>
            /// <param name="_propertyName"></param>
            /// <param name="theValue"></param>
            public virtual void SetPropertyValue(string _propertyName, object theValue)
            {
                Type thisType = this.GetType();
    
                PropertyInfo info = thisType.GetProperty(_propertyName, BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.IgnoreCase | BindingFlags.Instance);
    
                if (info == null)
                {
                    throw new Exception
                        (
                            "方法:"
                            + MethodBase.GetCurrentMethod().ReflectedType.FullName
                            + " "
                            + MethodBase.GetCurrentMethod().ToString()
                            + " 发生异常:"
                            + "PropertyInfo info = thisType.GetProperty(_propertyName[" + _propertyName + "]);为null"
                        );
                }
    
                if (theValue == DBNull.Value)
                    theValue = null;
    
                info.SetValue(this, theValue, null);
            }
    
        }
    }
    
    

标签:绑定数值的容器 - DataBindDataSourceItemContainer 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)