全选/全不选/反选

2017-02-21 21:52:23  访问(1604) 赞(0) 踩(0)

  • 
    
            /// <summary>
            /// 全选
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public static void SelectAll(FineUI.Tree extAspNetTree)
            {
                SelectAll(extAspNetTree, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
            /// <summary>
            /// 全选
            /// </summary>
            /// <param name="extAspNetTree"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectAll
                (
                    FineUI.Tree extAspNetTree,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                SelectModel(extAspNetTree, SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选, curEmTreeCheckedMode);
            }
    
    
    
            /// <summary>
            /// 不选
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public static void SelectNone(FineUI.Tree extAspNetTree)
            {
                SelectNone(extAspNetTree, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
            /// <summary>
            /// 不选
            /// </summary>
            /// <param name="extAspNetTree"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectNone
                (
                    FineUI.Tree extAspNetTree,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                SelectModel(extAspNetTree, SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全不选, curEmTreeCheckedMode);
            }
    
            /// <summary>
            /// 反选
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public static void SelectConvert(FineUI.Tree extAspNetTree)
            {
                SelectConvert(extAspNetTree, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
            /// <summary>
            /// 反选
            /// </summary>
            /// <param name="extAspNetTree"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectConvert
                (
                    FineUI.Tree extAspNetTree,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                SelectModel(extAspNetTree, SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选, curEmTreeCheckedMode);
            }
    
    
    
            /// <summary>
            /// 全选
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            public static void SelectAll(FineUI.TreeNode extAspNetTreeNode)
            {
                SelectAll(extAspNetTreeNode, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
            /// <summary>
            /// 全选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectAll
                (
                    FineUI.TreeNode extAspNetTreeNode,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                SelectModelByTreeNode(extAspNetTreeNode, SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选, curEmTreeCheckedMode);
            }
    
            /// <summary>
            /// 不选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            public static void SelectNone(FineUI.TreeNode extAspNetTreeNode)
            {
                SelectNone(extAspNetTreeNode, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
            /// <summary>
            /// 不选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectNone
                (
                    FineUI.TreeNode extAspNetTreeNode,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                SelectModelByTreeNode
                    (
                        extAspNetTreeNode,
                        SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全不选,
                        curEmTreeCheckedMode
                    );
            }
    
            /// <summary>
            /// 反选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            public static void SelectConvert(FineUI.TreeNode extAspNetTreeNode)
            {
                SelectConvert(extAspNetTreeNode, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
            /// <summary>
            /// 反选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectConvert
                (
                    FineUI.TreeNode extAspNetTreeNode,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                SelectModelByTreeNode(extAspNetTreeNode, SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选, curEmTreeCheckedMode);
            }
    
            /// <summary>
            /// 全选、全不选和反选
            /// </summary>
            /// <param name="extAspNetTree"></param>
            /// <param name="curEmSelectModel"></param>
            public static void SelectModel
                (
                    FineUI.Tree extAspNetTree,
                    SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel curEmSelectModel
                )
            {
                SelectModel(extAspNetTree, curEmSelectModel, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
    
            /// <summary>
            /// 全选、全不选和反选
            /// </summary>
            /// <param name="extAspNetTree"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectModel
                (
                    FineUI.Tree extAspNetTree,
                    SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel curEmSelectModel,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                bool isCheck = true;
    
                switch (curEmTreeCheckedMode)
                {
                    case SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.仅儿子:
    
    
                        if (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选)
                        {
                            foreach (FineUI.TreeNode node in extAspNetTree.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = !node.Checked;
                            }
                        }
                        else
                        {
                            isCheck = (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选);
    
                            foreach (FineUI.TreeNode node in extAspNetTree.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = isCheck;
                            }
                        }
    
                        break;
                    case SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部除叶子:
    
                        if (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选)
                        {
                            foreach (FineUI.TreeNode node in extAspNetTree.Nodes)
                            {
                                if (node.Nodes.Count == 0)
                                    continue;
    
                                if (node.EnableCheckBox)
                                    node.Checked = !node.Checked;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
                        else
                        {
                            isCheck = (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选);
    
                            foreach (FineUI.TreeNode node in extAspNetTree.Nodes)
                            {
                                if (node.Nodes.Count == 0)
                                    continue;
    
                                if (node.EnableCheckBox)
                                    node.Checked = isCheck;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
    
                        break;
                    case SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部:
    
                        if (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选)
                        {
                            foreach (FineUI.TreeNode node in extAspNetTree.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = !node.Checked;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
                        else
                        {
                            isCheck = (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选);
    
                            foreach (FineUI.TreeNode node in extAspNetTree.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = isCheck;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
    
                        break;
                    default:
    
                        throw new Exception
                            (
                                "方法:"
                                + MethodBase.GetCurrentMethod().ReflectedType.FullName
                                + " "
                                + MethodBase.GetCurrentMethod().ToString()
                                + " 发生异常:"
                                + "枚举("
                                + curEmTreeCheckedMode.GetType().FullName
                                + "."
                                + curEmTreeCheckedMode.ToString()
                                + ")未知,对应的代码尚未实现。"
                            );
    
                }
            }
    
            /// <summary>
            /// 全选、全不选和反选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            /// <param name="curEmSelectModel"></param>
            public static void SelectModelByTreeNode
                (
                    FineUI.TreeNode extAspNetTreeNode,
                    SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel curEmSelectModel
                )
            {
                SelectModelByTreeNode(extAspNetTreeNode, curEmSelectModel, SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部);
            }
    
    
    
            /// <summary>
            /// 全选、全不选和反选
            /// </summary>
            /// <param name="extAspNetTreeNode"></param>
            /// <param name="curEmSelectModel"></param>
            /// <param name="curEmTreeCheckedMode"></param>
            public static void SelectModelByTreeNode
                (
                    FineUI.TreeNode extAspNetTreeNode,
                    SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel curEmSelectModel,
                    SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode curEmTreeCheckedMode
                )
            {
                bool isCheck = true;
    
                switch (curEmTreeCheckedMode)
                {
                    case SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.仅儿子:
    
                        if (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选)
                        {
                            foreach (FineUI.TreeNode node in extAspNetTreeNode.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = !node.Checked;
                            }
                        }
                        else
                        {
                            isCheck = (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选);
    
                            foreach (FineUI.TreeNode node in extAspNetTreeNode.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = isCheck;
                            }
                        }
                        break;
                    case SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部除叶子:
    
                        if (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选)
                        {
                            foreach (FineUI.TreeNode node in extAspNetTreeNode.Nodes)
                            {
                                if (node.Nodes.Count == 0)
                                    continue;
    
                                if (node.EnableCheckBox)
                                    node.Checked = !node.Checked;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
                        else
                        {
                            isCheck = (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选);
    
                            foreach (FineUI.TreeNode node in extAspNetTreeNode.Nodes)
                            {
                                if (node.Nodes.Count == 0)
                                    continue;
    
                                if (node.EnableCheckBox)
                                    node.Checked = isCheck;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
    
                        break;
                    case SlowX.FineUIUtils.Enums.TreeCheckedMode.EmTreeCheckedMode.全部:
    
                        if (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.反选)
                        {
                            foreach (FineUI.TreeNode node in extAspNetTreeNode.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = !node.Checked;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
                        else
                        {
                            isCheck = (curEmSelectModel == SlowX.FineUIUtils.Enums.SelectModel.EmSelectModel.全选);
    
                            foreach (FineUI.TreeNode node in extAspNetTreeNode.Nodes)
                            {
                                if (node.EnableCheckBox)
                                    node.Checked = isCheck;
    
                                SelectModelByTreeNode(node, curEmSelectModel, curEmTreeCheckedMode);
                            }
                        }
    
                        break;
    
                    default:
                        break;
                }
            }
    

  • 
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Data;
    using System.Reflection;
    
    namespace SlowX.FineUIUtils.Enums
    {
        /// <summary>
        /// 树选择模式
        /// </summary>
        [Serializable]
        public class TreeCheckedMode
        {
    
            #region 枚举 显示表达式
    
            /// <summary>
            /// 显示表达式
            /// </summary>
            public enum EmShowExpress
            {
                
                /// <summary>
                /// 默认
                /// </summary>
                默认 = 1
            }
    
            #endregion 枚举 显示表达式
    
            #region Enum
    
            /// <summary>
            /// 树选择模式
            /// </summary>
            public enum EmTreeCheckedMode
            {
    
                /// <summary>
                /// 全部
                /// </summary>
                全部 = 1,
                /// <summary>
                /// 仅儿子
                /// </summary>
                仅儿子,
                /// <summary>
                /// 全部除叶子
                /// </summary>
                全部除叶子
            }
    
            #endregion Enum
    
            /// <summary>
            /// 构造函数
            /// </summary>
            public TreeCheckedMode()
            {
    
            }
    
            /// <summary>
            /// 数组
            /// </summary>
            public readonly static EmTreeCheckedMode[] EmArray = new EmTreeCheckedMode[]
            {
    EmTreeCheckedMode.全部,
    EmTreeCheckedMode.仅儿子,
    EmTreeCheckedMode.全部除叶子
    
            };
    
    
            /// <summary>
            /// typeof(TreeCheckedMode) 当前TreeCheckedMode的type值
            /// </summary>
            public readonly static Type curType = typeof(TreeCheckedMode);
    
            /// <summary>
            /// typeof(TreeCheckedMode).FullName 
            /// </summary>
            public readonly static string curTypeFullName = curType.FullName;
    
    
            /// <summary>
            /// typeof(EmTreeCheckedMode) 当前枚举EmTreeCheckedMode的type值
            /// </summary>
            public readonly static Type curEnumType = typeof(EmTreeCheckedMode);
    
            /// <summary>
            /// typeof(EmTreeCheckedMode).FullName
            /// </summary>
            public readonly static string curEnumTypeFullName = curEnumType.FullName;
    
    
            /// <summary>
            /// 默认的枚举值
            /// </summary>
            public static readonly EmTreeCheckedMode defaultEm = EmTreeCheckedMode.全部;
    
            /// <summary>
            /// 默认的枚举值
            /// </summary>
            private static Dictionary<EmShowExpress, DataTable> dictionaryDataTableValue = CreateDataTable();
    
            /// <summary>
            /// 获得Text的数组
            /// </summary>
            /// <returns></returns>
            public static string[] GetTextArray()
            {
                EmTreeCheckedMode[] emA = EmArray;
                int iLen = emA.Length;
                string[] theResult = new string[iLen];
    
                for (int i = 0; i < iLen; ++i)
                {
                    theResult[i] = emA[i].ToString();
                }
    
                return theResult;
            }
    
            /// <summary>
            /// 获得显示名称
            /// </summary>
            /// <param name="em"></param>
            /// <returns></returns>
            public static string GetShowName
                (
                    EmTreeCheckedMode em
                )
            {
                return em.ToString();
            }
    
    
            /// <summary>
            /// 
            /// </summary>
            /// <param name="em"></param>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            public static string GetShowName
                (
                    EmTreeCheckedMode em,
                    EmShowExpress curEmShowExpress
                )
            {
       
                    return em.ToString();
    
            }
    
    
            /// <summary>
            /// 创建数据表
            /// </summary>
            /// <returns></returns>
            private static Dictionary<EmShowExpress, DataTable> CreateDataTable()
            {
                Dictionary<EmShowExpress, DataTable> theResult = new Dictionary<EmShowExpress, DataTable>();
    
                theResult.Add(EmShowExpress.默认, CreateDataTableByEmShowExpress(EmShowExpress.默认));
    
    
                return theResult;
            }
    
            /// <summary>
            /// 创建数据表
            /// </summary>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            private static DataTable CreateDataTableByEmShowExpress(EmShowExpress curEmShowExpress)
            {
                DataTable dt = new DataTable();
    
                dt.Columns.Add("ID", typeof(int));
                dt.Columns.Add("TheName");
    
                EmTreeCheckedMode[] emA = EmArray;
    
                DataRow dr = null;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    dr = dt.NewRow();
    
                    dt.Rows.Add(dr);
    
                    dr["ID"] = (int)em;
                    dr["TheName"] = GetShowName(em, curEmShowExpress);
                }
    
                return dt;
            }
    
            /// <summary>
            /// 获得DataTable
            /// </summary>
            /// <returns></returns>
            public static DataTable GetDataTable()
            {
                return dictionaryDataTableValue[EmShowExpress.默认];
            }
    
            /// <summary>
            /// 获得DataTable
            /// </summary>
            /// <param name="curEmShowExpress"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(EmShowExpress curEmShowExpress)
            {
                return dictionaryDataTableValue[curEmShowExpress];
            }
    
            /// <summary>
            /// 获得数据集
            /// </summary>
            /// <param name="fromCache"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(bool fromCache)
            {
                if (fromCache)
                    return dictionaryDataTableValue[EmShowExpress.默认];
                else
                    return CreateDataTableByEmShowExpress(EmShowExpress.默认);
            }
    
    
            /// <summary>
            /// 获得数据集
            /// </summary>
            /// <param name="curEmShowExpress"></param>
            /// <param name="fromCache"></param>
            /// <returns></returns>
            public static DataTable GetDataTable(EmShowExpress curEmShowExpress,bool fromCache)
            {
                if (fromCache)
                    return dictionaryDataTableValue[curEmShowExpress];
                else
                    return CreateDataTableByEmShowExpress(curEmShowExpress);
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetEmByInt(int theValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == (int)em)
                        return em;
                }
    
                MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
            }
    
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetEmByLong(long theValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == (long)em)
                        return em;
                }
    
                MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetEmByString(string theValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == ((int)em).ToString())
                        return em;
                }
    
                MethodBase methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + theValue.ToString() + "没有找到对应的枚举值。");
    
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetEmByObj(object theValue)
            {
                MethodBase methodBaseValue = null;
    
                if (theValue == null)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为null,没有找到对应的枚举值。");
                }
    
                if (theValue is EmTreeCheckedMode)
                    return (EmTreeCheckedMode)theValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue为空,没有找到对应的枚举值。");
                }
    
    
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (strValue == ((int)em).ToString())
                        return em;
                }
    
                methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theValue = " + strValue.ToString() + "没有找到对应的枚举值。");
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByInt(int theValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == (int)em)
                        return em;
                }
    
                return defaultEm;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByLong(long theValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == (long)em)
                        return em;
                }
    
                return defaultEm;
            }
    
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByString(string theValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultEm;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByObj(object theValue)
            {
                if (theValue == null)
                    return defaultEm;
    
                if (theValue is EmTreeCheckedMode)
                    return (EmTreeCheckedMode)theValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                    return defaultEm;
    
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (strValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultEm;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByInt(int theValue, EmTreeCheckedMode defaultValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == (int)em)
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByLong(long theValue, EmTreeCheckedMode defaultValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == (long)em)
                        return em;
                }
    
                return defaultValue;
            }
    
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByString(string theValue, EmTreeCheckedMode defaultValue)
            {
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得枚举
            /// </summary>
            /// <param name="theValue"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByObj(object theValue, EmTreeCheckedMode defaultValue)
            {
                if (theValue == null)
                    return defaultValue;
    
                string strValue = theValue.ToString();
    
                if (strValue.Length == 0)
                    return defaultValue;
    
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (strValue == ((int)em).ToString())
                        return em;
                }
    
                return defaultValue;
            }
    
            /// <summary>
            /// 获得 Text 获得 EmTreeCheckedMode 
            /// </summary>
            /// <param name="theText"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetEmByText(string theText)
            {
                MethodBase methodBaseValue = null;
    
                if (theText == null)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText为null,没有找到对应的枚举值。");
                }
    
                if (theText.Length == 0)
                {
                    methodBaseValue = MethodBase.GetCurrentMethod();
    
                    throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText为空,没有找到对应的枚举值。");
                }
    
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theText == (em).ToString())
                        return em;
                }
    
                methodBaseValue = MethodBase.GetCurrentMethod();
    
                throw new Exception("Method :==> " + methodBaseValue.ReflectedType.FullName + " ~ " + methodBaseValue.ToString() + " Exception :==> " + "theText = " + theText.ToString() + "没有找到对应的枚举值。");
            }
    
    
            /// <summary>
            /// 获得 Text 获得 EmTreeCheckedMode 
            /// </summary>
            /// <param name="theText"></param>
            /// <param name="defaultValue"></param>
            /// <returns></returns>
            public static EmTreeCheckedMode GetDefaultEmByText(string theText, EmTreeCheckedMode defaultValue)
            {
                if (theText == null)
                    return defaultValue;
    
                if (theText.Length == 0)
                    return defaultValue;
    
                EmTreeCheckedMode[] emA = EmArray;
    
                foreach (EmTreeCheckedMode em in emA)
                {
                    if (theText == (em).ToString())
                        return em;
                }
    
                return defaultValue;
            }
        }
    }
    
    
    
    
    

标签:全选/全不选/反选 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)