新普京网站-澳门新普京 > 新普京网站 > 澳门新普京:DOM元素操作等经验累积_javascript技巧_脚本之家,权限管理系统之字典

澳门新普京:DOM元素操作等经验累积_javascript技巧_脚本之家,权限管理系统之字典

2019/12/30 04:15

复制代码 代码如下: var totalPanels = $.children; alert 结果为2 积累

4.5 代码(字典)管理

系统代码是阳台置于的、通用的、统生机勃勃的多少描述。

代码管理(数据字典)是全部平台南多少描述的卓有效能机制。通过分界面实行可视化的操作和维护,能极快录入和改善平台上统少年老成的辞书数据。有效抓牢了数量的再次利用率和成品、项目的付出作用。整个数据字典数据为框架平台所分享,客商能够越来越好地对系统进行自定义管理,以满意本人的本性化必要。

代码管理的法力作业区(客户操作卡塔尔国分界面如下图4.5-1所示,通过主要的操作按键和消息内容可见其作用有:

① 新添代码组、代码,编辑代码组、代码,
② 删除代码组、代码,移动代码,
③ 代码组、代码的绝无只有标记,排序功用和备注消息等。

其间作用操作按键的情事会依靠选择的左边手树型中分歧节点和不相同登陆客商的动作权限而改造。

平台在当下仅帮助二级深度的树型代码构造,可依据实际必要张开增添、改善、删除或活动等对平台代码进行分拣和调动。

澳门新普京 1 

图4.5-1  代码管理分界面

#region LoadCodeTypes, LoadCodes
        private void LoadCodeTypes(TreeNode currentNode, DMESYS_SYSCODE_TYPE currentCodeType)
        {
            List<DMESYS_SYSCODE_TYPE> subCodeTypes = null;
            if (currentCodeType != null)
                subCodeTypes = DBOSYS_SYSCODE_TYPE.GetSubCodeTypes(currentCodeType);
            else
                subCodeTypes = DBOSYS_SYSCODE_TYPE.GetSYS_SYSCODE_TYPEEntities();

            foreach (DMESYS_SYSCODE_TYPE rt in subCodeTypes)
            {
                TreeNode node = currentNode.ChildNodes.Add();
                node.Tag = rt;
                node.Text = rt.Name;
                node.CollapsedImageIndex = 1;
                node.ExpandedImageIndex = 2;

                LoadCodeTypes(node, rt);
            }
        }

        private void LoadCodes()
        {
            codes.Clear();
            codes = DBOSYS_SYSCODE.GetSYS_SYSCODEEntities();

            foreach (DMESYS_SYSCODE r in codes)
            {
                TreeNode tn = CallFindNode(r.Syscode_Type_Id, tvCodes);
                if (tn != null)
                {
                    TreeNode node = tn.ChildNodes.Add();
                    node.Tag = r;
                    node.Text = r.Name;
                    node.CollapsedImageIndex = 3;
                    node.ExpandedImageIndex = 3;
                }
            }
        }

        private TreeNode FindTreeNode(string codeTypeId, TreeNode tnParent)
        {
            if (tnParent == null || tnParent.Tag is DMESYS_SYSCODE)
                return null;
            if ((tnParent.Tag as DMESYS_SYSCODE_TYPE).Id == codeTypeId)
                return tnParent;
            TreeNode tnRet = null;
            foreach (TreeNode tn in tnParent.ChildNodes)
            {
                tnRet = FindTreeNode(codeTypeId, tn);
                if (tnRet != null)
                    break;
            }
            return tnRet;
        }

        private TreeNode CallFindNode(string codeTypeId, TreeControl treeView)
        {
            TreeNodeCollection nodes = treeView.RootNodes[0].ChildNodes;
            foreach (TreeNode n in nodes)
            {
                TreeNode temp = FindTreeNode(codeTypeId, n);
                if (temp != null)
                    return temp;
            }
            return null;
        }
        #endregion

 

4.5.1 新扩充、编辑和删除

增产代码组和代码:点击展开树形菜单“系统代码”,能够看见平台置于的大器晚成部分代码组和代码。选拔“系统代码”后点击“新添分类”开关,能够增进代码组;选取已部分代码组,点击“新扩充代码”按键,可以加上具体的代码。

在疯长代码组或代码的经过中,个中带青色星号标识“*”的条规,标记、名称和排序ID是必供给填写的从头到尾的经过。平台会检查测验该代码组或代码的标记、名称在阳台上的合法性,确认保证代码组或代码的标志、名称的唯黄金时代性和可用性。

具体加多代码组、代码的操作分界面如下图4.5.1-1所示:

 澳门新普京 2

 澳门新普京 3

图4.5.1-1  新扩大代码组、代码

private void InfoUpdatedADD()
        {
            if (dmeObj == null)
            {
                lbInfo.Text = "在“系统代码”下新增如下代码分类";
                return;
            }

            if (dmeObj != null && dmeObj is DMESYS_SYSCODE_TYPE)
            {
                dmeCodeType = dmeObj as DMESYS_SYSCODE_TYPE;
                lbInfo.Text = "在代码分类“" + dmeCodeType.Name + "”下新增如下代码";
                return;
            }
        }

        private bool InfoUpdatedEDIT()
        {
            if (dmeObj == null)
            {
                lbInfo.Text = "加载代码类型信息时出错!";
                lbInfo.ForeColor = Color.Red;
                ucCodes.IsEnabled(false);
                return false;
            }

            if (dmeObj != null && dmeObj is DMESYS_SYSCODE_TYPE)
            {
                dmeCodeType = dmeObj as DMESYS_SYSCODE_TYPE;
                lbInfo.Text = "编辑代码分类“" + dmeCodeType.Name + "”";
                return true;
            }

            if (dmeObj != null && dmeObj is DMESYS_SYSCODE)
            {
                dmeCode = dmeObj as DMESYS_SYSCODE;
                lbInfo.Text = "编辑代码“" + dmeCode.Name + "”";
                return true;
            }

            return false;
        }

        private bool InsertorUpdateCodes()
        {
            if (dmeCode == null)
            {
                dmeCode = new DMESYS_SYSCODE();
            }

            if (dmeCodeType == null)
            {
                dmeCodeType = new DMESYS_SYSCODE_TYPE();
            }

            if (action == Action.ADD)
            {
                if (dmeObj == null && DoValidatedCodes())
                {
                    dmeCodeType.Id = FeiQing.DBO.DBOService.GetID();
                    DBOSYS_SYSCODE_TYPE.InsertDMESYS_SYSCODE_TYPE(dmeCodeType);
                    return true;
                }
                if (dmeObj is DMESYS_SYSCODE_TYPE && DoValidatedCodes())
                {
                    dmeCode.Syscode_Type_Id = dmeCodeType.Id;
                    dmeCode.Id = FeiQing.DBO.DBOService.GetID();
                    DBOSYS_SYSCODE.InsertDMESYS_SYSCODE(dmeCode);
                    return true;
                }
                return false;
            }

            if (action == Action.EDIT)
            {
                if (dmeObj is DMESYS_SYSCODE_TYPE && DoValidatedCodes())
                {
                    dmeCodeType.Id = (dmeObj as DMESYS_SYSCODE_TYPE).Id;
                    DBOSYS_SYSCODE_TYPE.UpdateDMESYS_SYSCODE_TYPE(dmeCodeType);
                    return true;
                }
                if (dmeObj is DMESYS_SYSCODE && DoValidatedCodes())
                {
                    dmeCode.Id = (dmeCode as DMESYS_SYSCODE).Id;
                    DBOSYS_SYSCODE.UpdateDMESYS_SYSCODE(dmeCode);
                    return true;
                }
                return false;
            }

            return false;
        }

        private bool DoValidatedCodes()
        {
            if (String.IsNullOrEmpty(ucCodes.LbTxtTag))
            {
                lbTip.Text = "“标识”不能为空。";
                lbTip.ForeColor = Color.Red;
                return false;
            }
            if (String.IsNullOrEmpty(ucCodes.LbTxtName))
            {
                lbTip.Text = "“名称”不能为空。";
                lbTip.ForeColor = Color.Red;
                return false;
            }
            if (String.IsNullOrEmpty(ucCodes.LbTxtOrder))
            {
                lbTip.Text = "“排序ID”不能为空。";
                lbTip.ForeColor = Color.Red;
                return false;
            }
            if (!FeiQing.Util.DataValidator2.IsNumber(ucCodes.LbTxtOrder))
            {
                lbTip.Text = "“排序ID”必须为数值。";
                lbTip.ForeColor = Color.Red;
                return false;
            }

            if (dmeObj == null && dmeCodeType != null && action == Action.ADD)
            {
                dmeCodeType.Tag = ucCodes.LbTxtTag;
                dmeCodeType.Name = ucCodes.LbTxtName;
                dmeCodeType.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCodeType.Remark = ucCodes.LbTxtRemark;
            }
            if (dmeObj is DMESYS_SYSCODE_TYPE && dmeCode != null && action == Action.ADD)
            {
                dmeCode.Tag = ucCodes.LbTxtTag;
                dmeCode.Name = ucCodes.LbTxtName;
                dmeCode.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCode.Remark = ucCodes.LbTxtRemark;
            }
            if (dmeObj is DMESYS_SYSCODE_TYPE && dmeCodeType != null && action == Action.EDIT)
            {
                dmeCodeType.Tag = ucCodes.LbTxtTag;
                dmeCodeType.Name = ucCodes.LbTxtName;
                dmeCodeType.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCodeType.Remark = ucCodes.LbTxtRemark;
            }
            if (dmeObj is DMESYS_SYSCODE && dmeCode != null && action == Action.EDIT)
            {
                dmeCode.Tag = ucCodes.LbTxtTag;
                dmeCode.Name = ucCodes.LbTxtName;
                dmeCode.Order_Id = Int32.Parse(ucCodes.LbTxtOrder);
                dmeCode.Remark = ucCodes.LbTxtRemark;
            }

            return true;
        }

 

编写制定代码组和代码:主如果在代码组或代码的标志,名称,排序,备注等音信发出转移的景色时开展的编写制定操作。点击张开树形菜单“系统代码”,在树型目录下抉择贰个代码组也许代码后点击“编辑”按键,即成功对应代码组或代码音信的退换。具体编辑代码组、代码的操作界面如下图4.5.1-第22中学所示:

 澳门新普京 4

图4.5.1-2  编辑代码组、代码

 

删去代码组和代码:点击张开树形菜单“系统代码”,在树型目录下抉择一个代码组或代码后点击“删除”按键,图4.5.1-3展现了删除操作的唤起对话框分界面。

备注:对于有着代码的代码组是不可能直接删除的,首先要求删除其属下的代码。

 澳门新普京 5

 澳门新普京 6

图4.5.1-3  删除代码组或代码提醒

 

private void btnDelete_Click(object sender, System.EventArgs e)
        {
            if (IsCodeType())
            {
                if (selectedNode.ChildNodes.Count > 0)
                {
                    GUIHelper.MessageToUserInfo("提示:该代码分类包含代码,无法直接删除!");
                    return;
                }
                if (GUIHelper.MessageQuestion("确定要删除代码分类“" + (selectedObj as DMESYS_SYSCODE_TYPE).Name + "”吗?", "删除代码分类"))
                {
                    DBOSYS_SYSCODE_TYPE.DeleteDMESYS_SYSCODE_TYPE(selectedObj as DMESYS_SYSCODE_TYPE);
                    btnRefresh_Click(sender, e);
                    return;
                }
            }
            if (IsCode())
            {
                if (GUIHelper.MessageQuestion("确定要删除代码“" + (selectedObj as DMESYS_SYSCODE).Name + "”吗?", "删除代码"))
                {
                    DBOSYS_SYSCODE.DeleteDMESYS_SYSCODE(selectedObj as DMESYS_SYSCODE);
                    btnRefresh_Click(sender, e);
                    return;
                }
            }
        }

 

上一篇:【新普京网站】JS调用页面表格导出excel示例代码 下一篇:没有了