private void tsmiDelMetaData_Click(object sender, EventArgs e)
        {
            //当前选中的业务数据详情
            SYS_BUSINESSDATADETAIL detail = treeListDetail.FocusedNode.Tag as SYS_BUSINESSDATADETAIL;

            BusinessServcie.DelBusinessDataDetail(detail.ID);
            RefreshBusinessDataDetailTree(CurrBusinessData);
        }
        /// <summary>
        /// 刷新右侧详情树
        /// </summary>
        /// <param name="currBusinessData">选中的业务数据</param>
        void RefreshBusinessDataDetailTree(SYS_BUSINESSDATA currBusinessData)
        {
            treeListDetail.Nodes.Clear();
            // 根节点
            SYS_BUSINESSDATADETAIL obj = new SYS_BUSINESSDATADETAIL();

            obj.ID = 0;
            TreeListNode root = treeListDetail.AppendNode(new object[] { currBusinessData.NAME }, -1);

            root.Tag = obj;

            CascadeAddNode(currBusinessData.ID, 0, root);
            treeListDetail.ExpandAll();
        }
Пример #3
0
        public SYS_BUSINESSDATADETAIL AddBusinessDataDetail(int REF_BUSINESSDATA_ID, int REF_METADATA_ID, int PARENTID)
        {
            SYS_BUSINESSDATADETAIL result = new SYS_BUSINESSDATADETAIL();

            result.ID = ValueOperator.CreatePk("SYS_BUSINESSDATADETAIL");
            result.REF_BUSINESSDATA_ID = REF_BUSINESSDATA_ID;
            result.REF_METADATA_ID     = REF_METADATA_ID;
            result.PARENTID            = PARENTID;

            using (ORMHandler orm = Zxl.Data.DatabaseManager.ORMHandler)
            {
                orm.Save(result);
            }
            return(result);
        }
        private void treeListDetail_MouseUp(object sender, MouseEventArgs e)
        {
            // 复选框控制
            TreeListHitInfo hitInfo = treeListDetail.CalcHitInfo(new Point(e.X, e.Y));
            TreeListNode    node    = hitInfo.Node;

            treeListDetail.FocusedNode = node;
            treeListDetail.UncheckAll();
            if (null != node)
            {
                node.CheckState = CheckState.Checked;
            }
            else
            {
                return;
            }

            //右键菜单控制
            if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                treeListDetail.ContextMenuStrip = null;
                SYS_BUSINESSDATADETAIL temp = node.Tag as SYS_BUSINESSDATADETAIL;

                if (node.Level == 0) // 根root
                {
                    tsmiAddMetaData.Visible = true;
                    tsmiDelMetaData.Visible = false;
                }
                else if (node.Level == 1) // 元数据
                {
                    tsmiAddMetaData.Visible = true;
                    tsmiDelMetaData.Visible = true;
                }
                else // 业务数据详情或者元数据属性
                {
                    if (null != temp) // 业务数据详情
                    {
                        tsmiAddMetaData.Visible = false;
                        tsmiDelMetaData.Visible = true;
                    }
                    else
                    {
                        contextMenuBdt.Visible = false;
                    }
                }
                treeListDetail.ContextMenuStrip = contextMenuBdt;
            }
        }
        private void tsmiAddMetaData_Click(object sender, EventArgs e)
        {
            //当前选中的详情
            SYS_BUSINESSDATADETAIL detail = treeListDetail.FocusedNode.Tag as SYS_BUSINESSDATADETAIL;

            DlgMetaDataSelector dlg = new DlgMetaDataSelector();

            dlg.MetaDatas = BusinessServcie.MetaDatas();
            if (DialogResult.OK == dlg.ShowDialog())
            {
                List <SYS_METADATA> list = dlg.SelectedItems;
                foreach (SYS_METADATA data in list)
                {
                    BusinessServcie.AddBusinessDataDetail(CurrBusinessData.ID, data.ID, detail.ID);
                }
            }
            RefreshBusinessDataDetailTree(CurrBusinessData);
        }