/// <summary>
        /// 绑定词句项目
        /// </summary>
        private void BindWordItem(TreeNode tnClass)
        {
            if (tnClass == null)
            {
                return;
            }


            ReportWordsClassData classData = tnClass.Tag as ReportWordsClassData;

            if (classData == null)
            {
                return;
            }

            TreeNode[] tmpNodes = tnClass.Nodes.Find("TMP" + classData.词句分类ID, false);
            if (tmpNodes.Length <= 0)
            {
                return;
            }

            DataTable dtItem = _rwm.GetWordItemByClass(classData.词句分类ID);

            foreach (DataRow dr in dtItem.Rows)
            {
                ReportWordsInfoData itemData = new ReportWordsInfoData();
                itemData.BindRowData(dr);

                TreeNode tnItem = tnClass.Nodes.Add(itemData.词句ID, itemData.词句名称, 1);
                tnItem.SelectedImageIndex = 1;
                tnItem.Tag = itemData;
            }

            tnClass.Nodes.Remove(tmpNodes[0]);
        }
Esempio n. 2
0
        /// <summary>
        /// 绑定词句分类数据
        /// </summary>
        private void BindWordClassData()
        {
            DataTable dtClass = _rwm.GetWordsClass(_imgKind);

            if (dtClass.Rows.Count <= 0)
            {
                return;
            }

            DataRow[] drRoots = dtClass.Select("上级分类ID is null or 上级分类ID=''");


            foreach (DataRow drRoot in drRoots)
            {
                TreeNode rootNode = null;

                ReportWordsClassData classData = new ReportWordsClassData();
                classData.BindRowData(drRoot);

                rootNode = treeView1.Nodes.Add(classData.词句分类ID, classData.分类名称, 0);

                rootNode.SelectedImageIndex = 0;
                rootNode.Tag = classData;

                if (rootNode == null)
                {
                    continue;
                }

                BindSubNode(rootNode, dtClass);
            }

            treeView1.ExpandAll();
        }
        private void BindSubNode(TreeNode pNode, DataTable dtClass)
        {
            if (pNode == null || dtClass == null)
            {
                return;
            }

            ReportWordsClassData pClassData = pNode.Tag as ReportWordsClassData;

            DataRow[] drSubs = dtClass.Select("上级分类ID='" + pClassData.词句分类ID + "'");

            if (drSubs.Length <= 0)
            {
                return;
            }

            foreach (DataRow drCur in drSubs)
            {
                ReportWordsClassData subClassData = new ReportWordsClassData();
                subClassData.BindRowData(drCur);

                TreeNode tnSub = pNode.Nodes.Add(subClassData.词句分类ID, subClassData.分类名称, 0);
                tnSub.SelectedImageIndex = 0;
                tnSub.Tag = subClassData;

                tnSub.Nodes.Add("TMP" + subClassData.词句分类ID, "TMP");

                BindSubNode(tnSub, dtClass);
            }
        }
Esempio n. 4
0
        private void ConfigCheckState(TreeNode tnParent, DataTable words)
        {
            if (tnParent == null)
            {
                return;
            }

            ReportWordsClassData wordClass = tnParent.Tag as ReportWordsClassData;

            if (wordClass == null)
            {
                return;
            }

            if (words.Select("词句分类ID='" + wordClass.词句分类ID + "'").Length > 0)
            {
                tnParent.Checked = true;
            }

            foreach (TreeNode tn in tnParent.Nodes)
            {
                if (tn.Nodes.Count > 0)
                {
                    ConfigCheckState(tn, words);
                }
                else
                {
                    wordClass = tn.Tag as ReportWordsClassData;
                    if (words.Select("词句分类ID='" + wordClass.词句分类ID + "'").Length > 0)
                    {
                        tn.Checked = true;
                    }
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// 绑定词句项目
        /// </summary>
        private void BindWordItem(TreeNode tnClass)
        {
            listView1.Clear();

            if (tnClass == null)
            {
                return;
            }

            ReportWordsClassData classData = tnClass.Tag as ReportWordsClassData;

            if (classData == null)
            {
                return;
            }


            DataTable dtItem = _rwm.GetWordItemByClass(classData.词句分类ID);

            foreach (DataRow dr in dtItem.Rows)
            {
                ReportWordsInfoData wordInfo = new ReportWordsInfoData();
                wordInfo.BindRowData(dr);

                ListViewItem lvi = listView1.Items.Add(wordInfo.词句名称, 0);
                lvi.Tag = wordInfo;
            }
        }
        private void butDel_Click(object sender, EventArgs e)
        {
            try
            {
                if (treeView1.SelectedNode == null)
                {
                    MessageBox.Show("请选择需要删除的项目。", "提示");
                    return;
                }

                TreeNode delNode = treeView1.SelectedNode;

                if (delNode.Tag is ReportWordsInfoData)
                {
                    //删除报告词句
                    ReportWordsInfoData itemData = delNode.Tag as ReportWordsInfoData;
                    //删除项目前提示确认
                    if (MessageBox.Show("是否删除项目" + itemData.词句名称.ToString() + "?", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        return;
                    }
                    _rwm.DelWordItem(itemData.词句ID);

                    delNode.Parent.Nodes.Remove(delNode);
                }
                else
                {
                    if (delNode.Nodes.Count > 0)
                    {
                        MessageBox.Show("项目存在子项,不允许删除。", "提示");
                        return;
                    }
                    //删除词句分类
                    ReportWordsClassData classData = delNode.Tag as ReportWordsClassData;
                    //删除项目前提示确认
                    if (MessageBox.Show("是否删除分类项目" + classData.分类名称.ToString() + "?", "提示", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        return;
                    }

                    _rwm.DelWordClass(classData.词句分类ID);

                    //delNode.Parent.Nodes.Remove(delNode);
                    //如果是根目录,解决:未将对象引用设置到对象的实例,错误。
                    delNode.Remove();
                }

                ButtonHint.Start(butDel, "OK");
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
        private void SyncSelNodeData()
        {
            try
            {
                ClearData();

                if (treeView1.SelectedNode == null)
                {
                    return;
                }

                TreeNode selNode = treeView1.SelectedNode;

                if (selNode.Tag is ReportWordsInfoData)
                {
                    ReportWordsInfoData itemData = selNode.Tag as ReportWordsInfoData;

                    txtName.Text = itemData.词句名称;
                    txtName.Tag  = itemData.词句ID;

                    cbxType.SelectedIndex = 0;

                    //cbxSex.Text = itemData.词句信息.适用性别;

                    rtbDescription.Text = itemData.词句信息.备注说明;

                    ReadWordContext(itemData);
                }
                else
                {
                    ReportWordsClassData classData = selNode.Tag as ReportWordsClassData;

                    txtName.Text = classData.分类名称;
                    txtName.Tag  = classData.词句分类ID;

                    cbxType.SelectedIndex = 1;

                    cbxSex.Text         = classData.分类信息.适用性别;
                    rtbDescription.Text = classData.分类信息.备注说明;

                    //读取下级分类中的项目
                    foreach (TreeNode tnSub in selNode.Nodes)
                    {
                        BindWordItem(tnSub);
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
Esempio n. 8
0
        private void ConfigCheckState(TreeNode tnParent, DataTable wordReleations)
        {
            if (tnParent == null)
            {
                return;
            }

            ReportWordsClassData wordClass = tnParent.Tag as ReportWordsClassData;

            if (wordClass == null)
            {
                return;
            }

            if (wordReleations.Select("词句分类ID='" + wordClass.词句分类ID + "'").Length > 0)
            {
                SetEnableNodeStyle(tnParent);
            }
            else
            {
                SetDisableNodeStyle(tnParent);
            }

            foreach (TreeNode tn in tnParent.Nodes)
            {
                if (tn.Nodes.Count > 0)
                {
                    ConfigCheckState(tn, wordReleations);
                }
                else
                {
                    if (tn.Tag == null)
                    {
                        continue;
                    }

                    wordClass = tn.Tag as ReportWordsClassData;
                    if (wordReleations.Select("词句分类ID='" + wordClass.词句分类ID + "'").Length > 0)
                    {
                        SetEnableNodeStyle(tn);
                    }
                    else
                    {
                        SetDisableNodeStyle(tn);
                    }
                }
            }
        }
Esempio n. 9
0
        private void NewTmpWordInfoNode(TreeNode tn)
        {
            ReportWordsClassData classData = tn.Tag as  ReportWordsClassData;

            string key = "TMP";

            if (classData != null)
            {
                key = key + "_" + classData.词句分类ID;
            }

            TreeNode tnWordInfo = tn.Nodes.Add(key, "TMP");

            tnWordInfo.ImageIndex         = 1;
            tnWordInfo.SelectedImageIndex = 1;

            tnWordInfo.Checked = true;
        }
Esempio n. 10
0
        /// <summary>
        /// 绑定词句分类数据
        /// </summary>
        private void BindWordClassData()
        {
            DataTable dtClass = _rwm.GetWordsClass(cbxImageKind.Text);

            if (dtClass.Rows.Count <= 0)
            {
                return;
            }

            DataRow[] drRoots = dtClass.Select("上级分类ID is null or 上级分类ID=''");


            foreach (DataRow drRoot in drRoots)
            {
                TreeNode rootNode = null;

                ReportWordsClassData classData = new ReportWordsClassData();
                classData.BindRowData(drRoot);

                rootNode = treeView1.Nodes.Add(classData.词句分类ID, classData.分类名称, 0);

                rootNode.SelectedImageIndex = 0;
                rootNode.Tag = classData;

                rootNode.Nodes.Add("TMP" + classData.词句分类ID, "TMP");


                if (rootNode == null)
                {
                    continue;
                }

                BindSubNode(rootNode, dtClass);

                //绑定当前分类及下一级分类的检查项目
                BindWordItem(rootNode);

                foreach (TreeNode tnSub in rootNode.Nodes)
                {
                    BindWordItem(tnSub);
                }
            }
        }
Esempio n. 11
0
        private void tsbSave_Click(object sender, EventArgs e)
        {
            try
            {
                if (treeView1.Nodes.Count <= 0)
                {
                    return;
                }

                List <TreeNode> checkNodes = GetCheckedNodes(treeView1.Nodes[0]);

                _wordReleations.Rows.Clear();

                foreach (TreeNode tn in checkNodes)
                {
                    ReportWordsClassData wordClass = tn.Tag as ReportWordsClassData;

                    DataRow newWordReleation = _wordReleations.NewRow();

                    newWordReleation["关联ID"]   = SqlHelper.GetNumGuid();
                    newWordReleation["词句分类ID"] = wordClass.词句分类ID;
                    newWordReleation["格式ID"]   = _formatId;
                    newWordReleation["模板ID"]   = _templateId;

                    _wordReleations.Rows.Add(newWordReleation);
                }

                OnSaveReportWords?.Invoke(_wordReleations);

                IsModify = false;

                this.Close();
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
Esempio n. 12
0
        private void butModify_Click(object sender, EventArgs e)
        {
            try
            {
                if (treeView1.SelectedNode == null)
                {
                    MessageBox.Show("请选择需要修改的项目。", "提示");
                    return;
                }

                TreeNode selNode = treeView1.SelectedNode;

                if (selNode.Tag is ReportWordsInfoData)
                {
                    //修改项目
                    if (ItemVerify(true) == false)
                    {
                        return;
                    }

                    ReportWordsInfoData itemData = selNode.Tag as ReportWordsInfoData;

                    itemData.词句名称 = txtName.Text;
                    //itemData.词句信息.适用性别 = cbxSex.Text;
                    itemData.词句信息.备注说明 = rtbDescription.Text;

                    itemData.词句信息.CopyBasePro(itemData);

                    _rwm.UpdateWordItem(itemData);

                    selNode.Text = itemData.词句名称;
                }
                else
                {
                    //修改分类
                    if (ClassVerify(true) == false)
                    {
                        return;
                    }

                    ReportWordsClassData classData = selNode.Tag as ReportWordsClassData;

                    classData.分类名称 = txtName.Text;

                    classData.分类信息.适用性别 = cbxSex.Text;
                    classData.分类信息.备注说明 = rtbDescription.Text;

                    classData.分类信息.CopyBasePro(classData);

                    _rwm.UpdateWordClass(classData);

                    selNode.Text = classData.分类名称;
                }

                ButtonHint.Start(butModify, "OK");
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
Esempio n. 13
0
        private void butNew_Click(object sender, EventArgs e)
        {
            try
            {
                TreeNode newNode = null;

                if (cbxType.SelectedIndex == 1)
                {
                    if (ClassVerify(false) == false)
                    {
                        return;
                    }

                    //新增分类
                    ReportWordsClassData classData = new ReportWordsClassData();

                    classData.词句分类ID = SqlHelper.GetCmpUID();
                    classData.影像类别   = cbxImageKind.Text;
                    classData.分类名称   = txtName.Text;

                    classData.分类信息.适用性别 = cbxSex.Text;
                    classData.分类信息.创建日期 = DateTime.Now;
                    classData.分类信息.备注说明 = rtbDescription.Text;

                    TreeNode tn = null;
                    if (treeView1.SelectedNode != null)
                    {
                        tn = treeView1.SelectedNode;

                        if (tn.Tag is ReportWordsInfoData)
                        {
                            tn = tn.Parent;
                        }

                        ReportWordsClassData pData = tn.Tag as ReportWordsClassData;

                        classData.级分类ID = pData.词句分类ID;
                    }

                    classData.分类信息.CopyBasePro(classData);

                    _rwm.NewWordClass(classData);

                    if (tn == null)
                    {
                        newNode = treeView1.Nodes.Add(classData.词句分类ID, classData.分类名称, 0);
                    }
                    else
                    {
                        newNode = tn.Nodes.Add(classData.词句分类ID, classData.分类名称, 0);

                        tn.Expand();
                    }
                    newNode.SelectedImageIndex = 0;
                    newNode.Tag = classData;
                }
                else
                {
                    //新增项目
                    if (ItemVerify(false) == false)
                    {
                        return;
                    }

                    ReportWordsInfoData itemData = new ReportWordsInfoData();

                    itemData.词句ID = SqlHelper.GetCmpUID();
                    itemData.词句名称 = txtName.Text;
                    //itemData.词句信息.适用性别 = cbxSex.Text;
                    itemData.词句信息.创建人  = _loginUser.Name;
                    itemData.词句信息.备注说明 = rtbDescription.Text;
                    itemData.词句信息.创建日期 = DateTime.Now;

                    TreeNode tn = null;
                    if (treeView1.SelectedNode != null)
                    {
                        tn = treeView1.SelectedNode;

                        if (tn.Tag is ReportWordsInfoData)
                        {
                            tn = tn.Parent;
                        }

                        ReportWordsClassData pData = tn.Tag as ReportWordsClassData;

                        itemData.词句分类ID = pData.词句分类ID;
                    }

                    itemData.词句信息.CopyBasePro(itemData);

                    _rwm.NewWordItem(itemData);



                    if (tn == null)
                    {
                        newNode = treeView1.Nodes.Add(itemData.词句ID, itemData.词句名称, 1);
                    }
                    else
                    {
                        newNode = tn.Nodes.Add(itemData.词句ID, itemData.词句名称, 1);

                        tn.Expand();
                    }

                    newNode.SelectedImageIndex = 1;
                    newNode.Tag = itemData;
                }

                treeView1.SelectedNode = newNode;

                ButtonHint.Start(butNew, "OK");
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }