Triangulation_List.cs 8.2 KB

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