예제 #1
0
        /// <summary> 窗体创建时加载树节点
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmShortcutKey_Edit_SelectNode_Load(object sender, EventArgs e)
        {
            otTreeView1.AfterSelect -= new TreeViewEventHandler(otTreeView1_AfterSelect);
            List <tShortCutKey> tShortCutKeyList = new ShortcutKeyManageService().GettShortCutKeyList();

            EntityList = tShortCutKeyList;
            foreach (tShortCutKey tShortCutKeyItem in tShortCutKeyList)
            {
                imageList1.Images.Add(tShortCutKeyItem.ShortCutKeyID, tShortCutKeyItem.ShortCutKeyImg.ToImage());
            }
            OTTreeView.TreeViewNodeStruct StructTemp = new OTTreeView.TreeViewNodeStruct()
            {
                KeyName = "ShortCutKeyID", ValueName = "ShortCutKeyName", ParentName = "ParentID"
            };
            otTreeView1.SetDataSource <tShortCutKey>(tShortCutKeyList, StructTemp);
            otTreeView1.ExpandAll();
            if (SelectedEntity != null && !string.IsNullOrEmpty(SelectedEntity.ShortCutKeyID))
            {
                List <TreeNode> TreeNodeList = otTreeView1.GetAllTreeNode();
                TreeNode        TreeNodeTemp = TreeNodeList.Where(T1 => T1.Name == SelectedEntity.ShortCutKeyID).FirstOrDefault();
                if (TreeNodeTemp != null)
                {
                    otTreeView1.SelectedNode = TreeNodeTemp;
                }
            }
            Application.DoEvents();


            timer1.Enabled = true;
        }
예제 #2
0
        /// <summary> 刷新列表
        /// </summary>
        private void RefreshTreeView()
        {
            TreeNode SelectedNode = ShortcutKey_otTreeView.SelectedNode;//记录刷新之前选中的节点

            ShortcutKey_otTreeView.Nodes.Clear();
            ShortcutKey_imageList.Images.Clear();

            foreach (tShortCutKey tShortCutKeyItem in tShortCutKeyDataSource)
            {
                if (tShortCutKeyItem.ShortCutKeyImg.Length == 0)
                {
                    continue;
                }
                ShortcutKey_imageList.Images.Add(tShortCutKeyItem.ShortCutKeyID, tShortCutKeyItem.ShortCutKeyImg.ToImage());
            }
            OTTreeView.TreeViewNodeStruct StructTemp = new OTTreeView.TreeViewNodeStruct()
            {
                KeyName = "ShortCutKeyID", ValueName = "ShortCutKeyName", ParentName = "ParentID"
            };
            ShortcutKey_otTreeView.SetDataSource <tShortCutKey>(tShortCutKeyDataSource, StructTemp);
            ShortcutKey_otTreeView.ExpandAll();
            RefreshDataGridView();            //填充右侧表格

            #region 将选中行定位到刷新之前的行
            try
            {
                Exception SetNodeEx = new Exception("NotReSettingNode");//如果无法设置当前节点就抛出这个异常来设置根节点为选中节点
                if (SelectedNode == null)
                {
                    throw SetNodeEx;
                }
                if (string.IsNullOrEmpty(SelectedNode.Name))
                {
                    throw SetNodeEx;
                }
                TreeNode[] TreeNodeArray = ShortcutKey_otTreeView.Nodes.Find(SelectedNode.Name, true);
                TreeNode   TreeNodeTemp  = TreeNodeArray.FirstOrDefault();
                if (TreeNodeTemp == null)
                {
                    throw SetNodeEx;
                }
                ShortcutKey_otTreeView.SelectedNode = TreeNodeTemp;
            }
            #region 设置根节点为选中节点
            catch (Exception ex)
            {
                if (ex.Message == "NotReSettingNode")
                {
                    if (ShortcutKey_otTreeView.isBaseNode)
                    {
                        ShortcutKey_otTreeView.SelectedNode = ShortcutKey_otTreeView.GetBaseTreeNode();
                    }
                }
            }
            #endregion 设置根节点为选中节点
            #endregion 将选中行定位到刷新之前的行
        }