通过DataBindDataSourceItemContainer绑定DropDownList - InitDropDownListByDataBindDataSourceItemContainer

2017-02-26 20:54:31  访问(2268) 赞(0) 踩(0)

  • 
            /// <summary>
            /// 通过DataBindDataSourceItemContainer绑定DropDownList - InitDropDownListByDataBindDataSourceItemContainer +
            /// </summary>
            /// <param name="ddl"></param>
            /// <param name="dataBindDataSourceItemContainerValue"></param>
            /// <param name="curEmListControlAddItem"></param>
            public void InitDropDownListByDataBindDataSourceItemContainer
                (
                    DropDownList ddl,
                    DataBindDataSourceItemContainer dataBindDataSourceItemContainerValue,
                    SlowX.CtrlUtil.Enums.ListControlAddItem.EmListControlAddItem curEmListControlAddItem
                )
            {
                List<DataBindDataSourceItem> theList 
                    = 
                    dataBindDataSourceItemContainerValue.GetList();
    
                int iCount = theList.Count;
                DataBindDataSourceItem item = null;
    
                if (dataBindDataSourceItemContainerValue.IsTreeStructure)
                {
                    item = theList[0];
                    ddl.Items.Add(new ListItem(CommonValueSlowXCtrlUtilCommon.STR_TREE_BEGIN_DEFAULT + item.TheName, item.ID));
    
                    int bindNum = iCount - 1;
                    StringBuilder treeLine = null;
    
                    for (int i = 1; i < bindNum; ++i)
                    {
                        item = theList[i];
    
                        treeLine = new StringBuilder();
    
                        for (int j = 0; j < item.Level; ++j)
                        {
                            treeLine.Append(CommonValueSlowXCtrlUtilCommon.STR_TREE_DEFAULT);
                        }
    
                        ddl.Items.Add(new ListItem(treeLine.ToString() + item.TheName, item.ID));
                    }
    
                    item = theList[bindNum];
    
                    treeLine = new StringBuilder();
    
                    for (int j = 0; j < item.Level; ++j)
                    {
                        treeLine.Append(CommonValueSlowXCtrlUtilCommon.STR_TREE_END_DEFAULT);
                    }
    
                    ddl.Items.Add(new ListItem(treeLine.ToString() + item.TheName, item.ID));
    
                }
                else
                {
                    for (int i = 0; i < iCount; ++i)
                    {
                        item = theList[i];
    
                        ddl.Items.Add(new ListItem(item.TheName, item.ID));
                    }
                }
    
                DropDownListSlowXCtrlUtilFunctions.AddItemByEmListControlAddItem(ddl, curEmListControlAddItem);
            }
    

  • using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace SlowX.Core.DataSourceItems
    {
        /// <summary>
        /// 
        /// </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>
        /// 下拉框绑定数据源项
        /// </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;
            }
        }
    }
    
    
  • 
            /// <summary>
            /// 添加 EmListControlAddItem - AddItemByEmListControlAddItem
            /// </summary>
            /// <param name="ddl"></param>
            /// <param name="curEmListControlAddItem"></param>
            public static void AddItemByEmListControlAddItem
                (
                    DropDownList ddl,
                    SlowX.CtrlUtil.Enums.ListControlAddItem.EmListControlAddItem curEmListControlAddItem
                )
            {
                switch (curEmListControlAddItem)
                {
                    case Enums.ListControlAddItem.EmListControlAddItem.不添加:
                        break;
                    case Enums.ListControlAddItem.EmListControlAddItem.其它:
                        ddl.Items.Add(new ListItem("其它", "0"));
                        break;
                    case Enums.ListControlAddItem.EmListControlAddItem.请选择:
                        ddl.Items.Insert(0, new ListItem("--请选择--", ""));
                        break;
                    case Enums.ListControlAddItem.EmListControlAddItem.全部:
                        ddl.Items.Insert(0, new ListItem("--全部--", ""));
                        break;
                    case Enums.ListControlAddItem.EmListControlAddItem.无:
                        ddl.Items.Add(new ListItem("无", "0"));
                        break;
                    case Enums.ListControlAddItem.EmListControlAddItem.根:
                        ddl.Items.Insert(0, new ListItem("根", "0"));
                        break;
                    case Enums.ListControlAddItem.EmListControlAddItem.自定义:
                        break;
                    default:
    
                        throw new Exception
                            (
                                "方法:"
                                + MethodBase.GetCurrentMethod().ReflectedType.FullName
                                + " "
                                + MethodBase.GetCurrentMethod().ToString()
                                + " 发生异常:"
                                + "枚举("
                                + curEmListControlAddItem.GetType().FullName
                                + "."
                                + curEmListControlAddItem.ToString()
                                + ")未知,对应的代码尚未实现。"
                            );
                }
            }
    
  •  #region Enum
    
            /// <summary>
            /// 数据库类型
            /// </summary>
            public enum EmListControlAddItem
            {
    
                /// <summary>
                /// 自定义
                /// </summary>
                自定义 = 1,
                /// <summary>
                /// 不添加
                /// </summary>
                不添加,
                /// <summary>
                /// 无(text = 无,Value=0)
                /// </summary>
                无,
                /// <summary>
                /// 请选择 (text = 请选择,Value="")
                /// </summary>
                请选择,
                /// <summary>
                /// 全部 (text = 全部,Value="")
                /// </summary>
                全部,
                /// <summary>
                /// 根(text=根,Value="0")
                /// </summary>
                根,
                /// <summary>
                /// 其它 (text = 其它,Value=0)
                /// </summary>
                其它
            }
    
            #endregion Enum
    
  • using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace SlowX.CtrlUtil.Common
    {
        /// <summary>
        /// 常用值
        /// </summary>
        public class CommonValueSlowXCtrlUtilCommon
        {
            #region 树的几个形状值
    
            /// <summary>
            /// 树形状(开始)
            /// </summary>
            public const string STR_TREE_BEGIN = "┌";
            /// <summary>
            /// 树形状(中间)
            /// </summary>
            public const string STR_TREE_MID = "├";
            /// <summary>
            /// 树形状(结束)
            /// </summary>
            public const string STR_TREE_END = "└";
            /// <summary>
            /// 树形状(链接)
            /// </summary>
            public const string STR_TREE_LINE = "┈";
    
            /// <summary>
            /// 树形状(中间+链接)
            /// </summary>
            public const string STR_TREE_DEFAULT = "┣"; //STR_TREE_MID + STR_TREE_LINE;
    
            /// <summary>
            /// 树形状(开始+链接)
            /// </summary>
            public const string STR_TREE_BEGIN_DEFAULT = "┏"; // STR_TREE_BEGIN + STR_TREE_LINE;
    
            /// <summary>
            /// 树形状(结束+链接)
            /// </summary>
            public const string STR_TREE_END_DEFAULT = "┗"; //STR_TREE_END + STR_TREE_LINE;
     
            #endregion
        }
    }
    
    

标签:通过DataBindDataSourceItemContainer绑定DropDownList - InitDropDownListByDataBindDataSourceItemContainer 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

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