private void butConstract_Click(object sender, EventArgs e) { try { if (treeView1.SelectedNode == null) { MessageBox.Show("请选择需要构造的词句。", "提示"); return; } TreeNode delNode = treeView1.SelectedNode; ReportWordsInfoData wordData = delNode.Tag as ReportWordsInfoData; if (wordData == null) { MessageBox.Show("请选择需要构造的词句。", "提示"); return; } //构造词句内容 frmWordConstruct wordConstruct = new frmWordConstruct(); if (wordConstruct.ShowWordConstruct(wordData, _dbHelper, this)) { ReadWordContext(wordData); } } catch (Exception ex) { MsgBox.ShowException(ex, this); } }
/// <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]); }
private void ReadWordContext(ReportWordsInfoData wordData) { rtbFree.Text = ""; if (wordData == null) { return; } if (wordData.词句信息 == null || wordData.词句信息.词句明细.Count <= 0) { return; } string sections = ""; if (wordData.词句信息.词句类型 == (int)ReportWordType.rwtFree) { foreach (JReportWordSection wordSection in wordData.词句信息.词句明细) { string sectionContext = "■■" + wordSection.段落名称 + ":" + System.Environment.NewLine + wordSection.段落内容 + System.Environment.NewLine; sections = sections + sectionContext + System.Environment.NewLine;; } } rtbFree.Text = sections; }
private void listView1_SelectedIndexChanged(object sender, EventArgs e) { try { rtbFree.Text = ""; if (listView1.SelectedItems.Count <= 0) { return; } ListViewItem lvi = listView1.SelectedItems[0]; if (lvi.Tag == null) { return; } ReportWordsInfoData wordData = lvi.Tag as ReportWordsInfoData; ReadWordContext(wordData); } catch (Exception ex) { MsgBox.ShowException(ex, this); } }
/// <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 ReadWordContext(ReportWordsInfoData wordData) { if (wordData.词句信息 == null || wordData.词句信息.词句明细.Count != wordContext1.ItemCount) { wordContext1.ClearItem(); } if (wordData == null) { MessageBox.Show("词句内容无效。", "提示"); return; } if (wordData.词句信息.词句类型 == (int)ReportWordType.rwtFree) { wordContext1.ImageList = imageList1; wordContext1.HeadImageAlign = ContentAlignment.MiddleLeft; wordContext1.HeadWidth = 60; if (wordData.词句信息.词句明细.Count != wordContext1.ItemCount) { wordContext1.ItemCount = wordData.词句信息.词句明细.Count; } int i = 0; foreach (JReportWordSection wordSection in wordData.词句信息.词句明细) { string sectionName = wordSection.段落名称; string displyName = wordSection.段落名称; if (_templateSection != null) { int index = _templateSection.段落关联信息.FindIndex(T => T.报告段落名 == wordSection.段落名称); if (index >= 0) { string sectionAlias = _templateSection.段落关联信息[index].段落显示名; if (string.IsNullOrEmpty(sectionAlias) == false) { displyName = sectionAlias; } } } WordContext.RichTextItem rti = wordContext1[i]; rti.ImageIndex = 2; rti.Tag = sectionName; rti.HeadCaption = displyName; rti.Text = wordSection.段落内容; rti.Selected = false; i = i + 1; } } }
private void tsbWrite_Click(object sender, EventArgs e) { try { //写入修改后的配套词句 if (_selWordDatas != null) { _selWordDatas.Clear(); } if (treeView1.SelectedNode == null) { return; } if (treeView1.SelectedNode.Tag is ReportWordsClassData) { return; } ReportWordsInfoData wordData = treeView1.SelectedNode.Tag as ReportWordsInfoData; if (wordData == null) { MessageBox.Show("无效词句内容数据。", "提示"); return; } if (_selWordDatas == null) { _selWordDatas = new BizDataItems(); } if (wordData.词句信息.词句类型 == (int)ReportWordType.rwtFree) { foreach (WordContext.RichTextItem rti in wordContext1.Items) { if (rti.Tag.ToString() == "共用词句") { continue; } BizDataItem bi = new BizDataItem(); bi.Add("sectionname", rti.Tag.ToString()); bi.Add("text", rti.Text); bi.Add("formattext", rti.Rtf); _selWordDatas.Add(bi); } } DoActions(_designEvents[WordProviderEventDefine.WriteWord], sender); } catch (Exception ex) { MsgBox.ShowException(ex, this); } }
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); } }
public bool ShowWordConstruct(ReportWordsInfoData wordData, IDBQuery dbHelper, IWin32Window owner) { _isOk = false; _wordData = wordData; _dbHelper = dbHelper; _rwm = new ReportWordsModel(dbHelper); this.ShowDialog(owner); return(_isOk); }
private void treeView1_DoubleClick(object sender, EventArgs e) { try { //写入配套词句 if (_selWordDatas != null) { _selWordDatas.Clear(); } if (treeView1.SelectedNode == null) { return; } if (treeView1.SelectedNode.Tag is ReportWordsClassData) { return; } ReportWordsInfoData wordData = treeView1.SelectedNode.Tag as ReportWordsInfoData; if (wordData == null) { MessageBox.Show("无效词句内容数据。", "提示"); return; } if (_selWordDatas == null) { _selWordDatas = new BizDataItems(); } if (wordData.词句信息.词句类型 == (int)ReportWordType.rwtFree) { foreach (JReportWordSection wordSection in wordData.词句信息.词句明细) { BizDataItem bi = new BizDataItem(); bi.Add("sectionname", wordSection.段落名称); bi.Add("text", wordSection.段落内容); bi.Add("formattext", wordSection.段落格式); _selWordDatas.Add(bi); } } DoActions(_designEvents[WordProviderEventDefine.WriteWord], sender); } 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); } }
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { try { if (e.Node.Tag is ReportWordsClassData) { BindWordItem(e.Node); } else { ReportWordsInfoData wordData = e.Node.Tag as ReportWordsInfoData; ReadWordContext(wordData); } } catch (Exception ex) { MsgBox.ShowException(ex, this); } }
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); } }
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); } }