private void btn_save_Click(object sender, EventArgs e)
        {
            if (txt_value.Text.Trim() == string.Empty)
            {
                MessageBoxEx.Show("名称不能为空,请输入一个名称", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                switch (codeType)
                {
                case CodeTypeEnum.Brand:
                    if (brandCode == null)
                    {
                        brandCode          = new Tb_code();
                        brandCode.id       = CodeCache.getBrand().Count == 0 ? 1000 : CodeCache.getBrand().Max(c => c.id) + 1;//品牌默认从1000开始
                        brandCode.codeType = (int)CodeTypeEnum.Brand;
                        brandCode.parentId = classCode.id;
                    }
                    brandCode.codeName = txt_value.Text.Trim();
                    CodeCache.addCache(brandCode);
                    break;

                case CodeTypeEnum.Model:
                    if (modelCode == null)
                    {
                        modelCode          = new Tb_code();
                        modelCode.id       = CodeCache.getModel().Count == 0 ? 2000 : CodeCache.getModel().Max(c => c.id) + 1;//型号从2000开始
                        modelCode.codeType = (int)CodeTypeEnum.Model;
                        modelCode.parentId = brandCode.id;
                    }
                    modelCode.codeName = txt_value.Text.Trim();
                    CodeCache.addCache(modelCode);
                    break;

                case CodeTypeEnum.Class:
                    if (classCode == null)
                    {
                        classCode          = new Db.Entity.Tb_code();
                        classCode.id       = CodeCache.getClass().Count == 0 ? 3000 : CodeCache.getClass().Max(c => c.id) + 1;//分类默认从3000开始
                        classCode.codeType = (int)CodeTypeEnum.Class;
                    }
                    classCode.codeName = txt_value.Text.Trim();
                    CodeCache.addCache(classCode);
                    break;

                default:
                    break;
                }
                this.Close();
            }
        }
Beispiel #2
0
 private void traversalNode(Node pNode)
 {
     if (pNode.HasChildNodes)
     {
         foreach (Node node in pNode.Nodes)
         {
             if (node.Style != null)
             {
                 if (node.Style.BackColor == Color.LawnGreen)//修改过的node
                 {
                     var tb_code = node.Tag as Tb_code;
                     tb_code.codeName = node.Text;
                     CodeCache.addCache(tb_code);
                     node.Style = null;
                 }
                 if (node.Style.BackColor == Color.Red)//新增的node
                 {
                     Tb_code tb_code = new Tb_code();
                     tb_code.codeName = node.Text;
                     if (node.Level == 2)//检测内容
                     {
                         tb_code.codeType = 6;
                         tb_code.id       = CodeCache.getDetection().Count == 0 ? 6000 : CodeCache.getDetection().Max(c => c.id) + 1; //检测内容从6000开始
                     }
                     if (node.Level == 3)                                                                                             //检测分项
                     {
                         tb_code.codeType = 7;
                         tb_code.id       = CodeCache.getSubDetection().Count == 0 ? 7000 : CodeCache.getSubDetection().Max(c => c.id) + 1;//检测分项从7000开始
                     }
                     tb_code.parentId = (node.Parent.Tag as Tb_code).id;
                     CodeCache.addCache(tb_code);
                     node.Style = null;
                     node.Tag   = tb_code;//将code赋给tag,以便在新增node的新增子node中,可以找到parentId
                 }
             }
             traversalNode(node);
         }
     }
 }
Beispiel #3
0
        /// <summary>
        /// 增加node
        /// </summary>
        /// <param name="pNode"></param>
        /// <param name="code">初始化tree时不为null;弹出菜单新增node时为null</param>
        private Node addNode(Node pNode, Tb_code code = null)
        {
            Node node = new Node();

            node.ContextMenu = cms;
            pNode.Nodes.Add(node);
            node.Editable = node.Level < 2 ? false : true; //level0是根节点,level1是分类,都不允许修改。level大于等于2时可以修改
            if (code == null)                              //弹出菜单上新增node
            {
                node.Style = new ElementStyle()
                {
                    BackColor = Color.Red
                };
                node.BeginEdit();
            }
            else//初始化tree时新增node
            {
                node.Text = code.codeName;
                node.Tag  = code;
            }
            return(node);
        }