Triangulation_List.cs 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. using OTSIncAReportApp.DataOperation.DataAccess;
  2. using System;
  3. using System.Data;
  4. using System.Windows.Forms;
  5. namespace OTSIncAReportApp.OTSMgrInfo
  6. {
  7. public partial class Triangulation_List : Form
  8. {
  9. #region 全局变量
  10. private DataTable m_dt_moban = null;//模板列表
  11. private DataTable m_dt_item_element = null;//各项下包含的元素信息
  12. private frmReportApp m_frmReportApp;//全局对象主窗体对象
  13. private const string m_TriFilePath = "\\Config\\ProData\\";
  14. private const string m_TriFilename = "DefaultTriTemplateFile.tpf";
  15. #endregion
  16. #region 构造函数及窗体加载
  17. public Triangulation_List()
  18. {
  19. InitializeComponent();
  20. }
  21. public Triangulation_List(frmReportApp in_ReportApp)
  22. {
  23. m_frmReportApp = in_ReportApp;
  24. InitializeComponent();
  25. }
  26. private void Triangulation_List_Load(object sender, EventArgs e)
  27. {
  28. //设置数据列
  29. Gview_moban.Columns.Add("ID", "ID");
  30. Gview_moban.Columns.Add("Group", "Group");
  31. Gview_moban.Columns.Add("name", "Template");
  32. //增加editButton,修改按钮
  33. DataGridViewLinkColumn editLink = new DataGridViewLinkColumn();
  34. editLink.Text = "Edit";//添加的这列的显示文字,即每行最后一列显示的文字。
  35. editLink.Name = "editLink";
  36. editLink.HeaderText = "Edit";//列的标题
  37. editLink.UseColumnTextForLinkValue = true;//设置editLink.Text文字在列中显示
  38. Gview_moban.Columns.Add(editLink);
  39. //增加linkButton,删除按钮
  40. DataGridViewLinkColumn dlink = new DataGridViewLinkColumn();
  41. dlink.Text = "Delete";//添加的这列的显示文字,即每行最后一列显示的文字。
  42. dlink.Name = "delLink";
  43. dlink.HeaderText = "Delete";//列的标题
  44. dlink.UseColumnTextForLinkValue = true;//上面设置的dlink.Text文字在列中显示
  45. Gview_moban.Columns.Add(dlink);
  46. //加载样式
  47. SetDataGridStyle();
  48. //绑定数据
  49. BindGView();
  50. Gview_moban.Columns[0].Visible = false;
  51. Gview_moban.Columns[1].Visible = false;
  52. }
  53. #endregion
  54. #region 控件事件
  55. private void button1_Click(object sender, EventArgs e)
  56. {
  57. //添加
  58. Triangulation_Edit te = new Triangulation_Edit(m_frmReportApp, "", "");
  59. if (te.ShowDialog() == DialogResult.OK)
  60. {
  61. BindGView();
  62. }
  63. }
  64. private void button2_Click(object sender, EventArgs e)
  65. {
  66. //返回
  67. this.Close();
  68. }
  69. private void Gview_gz_CellClick(object sender, DataGridViewCellEventArgs e)
  70. {
  71. //点击后,通过模板ID,确定编辑界面对哪个模板进行编辑
  72. //修改删除
  73. if (e.RowIndex < 0)
  74. {
  75. return;
  76. }
  77. //获取模板ID
  78. string str_mobanid = Gview_moban.Rows[e.RowIndex].Cells[0].Value.ToString();
  79. string str_moban = Gview_moban.Rows[e.RowIndex].Cells[1].Value.ToString();
  80. //删除
  81. if (Gview_moban.Columns[e.ColumnIndex].Name == "delLink")
  82. {
  83. //先删除,dt表中的记录,然后再删除clr对应底层中的数据
  84. if (MessageBox.Show("确定是否要删除该三元相图模板选项?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
  85. {
  86. if (str_mobanid != "")
  87. {
  88. //获取粒级表
  89. string pathe = Application.StartupPath + "\\Config\\ProData\\DefaultTriTemplateFile.tpf";
  90. int ret = XMLoperate.DeleteByAttribute(pathe, "TemplateId", str_mobanid);
  91. if (ret == 1)
  92. {
  93. MessageBox.Show("删除成功!");
  94. }
  95. else
  96. {
  97. MessageBox.Show("保存失败!");
  98. }
  99. }
  100. BindGView();
  101. }
  102. }
  103. //修改
  104. if (Gview_moban.Columns[e.ColumnIndex].Name == "editLink")
  105. {
  106. //先更新表中的记录,然后再跟着更新clr底层中的数据
  107. Triangulation_Edit te = new Triangulation_Edit(m_frmReportApp ,str_moban, str_mobanid);
  108. if (te.ShowDialog() == DialogResult.OK)
  109. {
  110. BindGView();
  111. }
  112. }
  113. }
  114. #endregion
  115. #region 自定义函数及方法
  116. /// <summary>
  117. /// 绑定GridView方法
  118. /// </summary>
  119. private void BindGView()
  120. {
  121. Gview_moban.Rows.Clear();
  122. //三元相图模板配置文件
  123. string path = m_frmReportApp.m_RptConfigFile.FileFolderTrigTemp + "\\" + m_frmReportApp.m_RptConfigFile.TriTempFile;
  124. DataSet ds = XMLoperate.GetXmlData(path, "XMLData");
  125. DataTable dt = ds.Tables["Member"];
  126. for (int i = 0; i < dt.Rows.Count; i++)
  127. {
  128. int index = Gview_moban.Rows.Add();
  129. Gview_moban.Rows[index].Cells["ID"].Value = dt.Rows[i]["TemplateId"].ToString();
  130. Gview_moban.Rows[index].Cells["name"].Value = dt.Rows[i]["TemplateName"].ToString();
  131. Gview_moban.Rows[index].Cells["Group"].Value = dt.Rows[i]["Group"].ToString();
  132. }
  133. }
  134. private void SetDataGridStyle()
  135. {
  136. #region //设置规则 DataGridView的样式------------------------------
  137. Gview_moban.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
  138. Gview_moban.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing;
  139. Gview_moban.AllowUserToResizeColumns = false;
  140. Gview_moban.AllowUserToResizeRows = false;
  141. //改变行的高度;
  142. Gview_moban.RowTemplate.Height = 20;
  143. //改变标题的高度;
  144. Gview_moban.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing;
  145. Gview_moban.ColumnHeadersHeight = 20;
  146. //禁用排序
  147. for (int i = 0; i < this.Gview_moban.Columns.Count; i++)
  148. {
  149. this.Gview_moban.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
  150. }
  151. //点击选择整行
  152. Gview_moban.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
  153. //设置每列的宽度
  154. Gview_moban.Columns[0].Width = 40;
  155. Gview_moban.Columns[1].Width = 40;
  156. Gview_moban.Columns[2].Width = 180;
  157. Gview_moban.Columns[3].Width = 45;
  158. Gview_moban.Columns[4].Width = 45;
  159. //禁止排序
  160. for (int i = 0; i < Gview_moban.Columns.Count; i++)
  161. {
  162. Gview_moban.Columns[i].SortMode = DataGridViewColumnSortMode.NotSortable;
  163. }
  164. //居中显示
  165. System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
  166. dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
  167. Gview_moban.DefaultCellStyle = dataGridViewCellStyle1;
  168. Gview_moban.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
  169. //再次重覆禁用拖动表头高度,居然有效果了
  170. Gview_moban.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
  171. #endregion
  172. }
  173. #endregion
  174. }
  175. }