PhosphateControl.cs 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using Core.Mes.Client.Comm.Control;
  10. using com.steering.mes.mcp.entity;
  11. using Infragistics.Win.UltraWinGrid;
  12. using Core.Mes.Client.Comm.Tool;
  13. using Infragistics.Win;
  14. using Core.Mes.Client.Comm.Server;
  15. using CoreFS.CA06;
  16. namespace Core.StlMes.Client.Mcp.Control
  17. {
  18. public partial class PhosphateContro : UserControl
  19. {
  20. private OpeBase ob;
  21. public OpeBase Ob
  22. {
  23. get { return ob; }
  24. set { ob = value; }
  25. }
  26. private Infragistics.Win.UltraWinGrid.UltraGrid _grid = null;
  27. /// <summary>
  28. /// Grid编辑区
  29. /// </summary>
  30. public Infragistics.Win.UltraWinGrid.UltraGrid Grid
  31. {
  32. get { return _grid; }
  33. }
  34. public PhosphateContro()
  35. {
  36. InitializeComponent();
  37. GridHelper.InitCardGrid(this.ultraDataSource1, this.ultraGrid1);
  38. _grid = this.ultraGrid1;
  39. }
  40. /// <summary>
  41. /// 接箍磷化检测实绩
  42. /// </summary>
  43. private PhosphateResult _result = new PhosphateResult();
  44. public PhosphateResult Value
  45. {
  46. get { return _result; }
  47. set
  48. {
  49. if(value != null)
  50. {
  51. _result = value;
  52. UpdateData();
  53. }
  54. }
  55. }
  56. /// <summary>
  57. /// 更新数据
  58. /// </summary>
  59. public void UpdateData()
  60. {
  61. if(_result != null)
  62. {
  63. ultraDataSource1.Rows[0]["MembranceThick"] = _result.MembranceThick;//膜厚
  64. ultraDataSource1.Rows[0]["Adhesion"] = _result.Adhesion;//附着力
  65. ultraDataSource1.Rows[0]["InspectShift"] = _result.ColShft;//班次
  66. ultraDataSource1.Rows[0]["InspectGroup"] = _result.ColGroup;//班组
  67. ultraDataSource1.Rows[0]["InspectOperator"] = _result.ColUser;//操作人
  68. ultraDataSource1.Rows[0]["InspectTime"] = _result.ColTime;//磷化时间
  69. ultraDataSource1.Rows[0]["AntiCorrosion"] = _result.AntiCorrosion;//耐蚀性
  70. ultraDataSource1.Rows[0]["ReactionTime"] = _result.ReactionTime;//反应时间
  71. ultraDataSource1.Rows[0]["SurfaceCondition"] = _result.SurfaceCondition;//表面质量
  72. ultraDataSource1.Rows[0]["Producer"] = _result.Producer;//监制人
  73. ultraDataSource1.Rows[0]["Produce_Time"] = _result.ProducerTime;//到场时间
  74. ultraDataSource1.Rows[0]["REMARK"] = _result.Remark;//备注
  75. ultraDataSource1.Rows[0]["COL_COUNT"] = _result.ColCount;//个数
  76. ultraDataSource1.Rows[0]["COL_OPERATOR"] = _result.ColOperator;//操作工
  77. ultraDataSource1.Rows[0]["IS_SPRAY"] = _result.IsSpray; //是否喷标
  78. ultraDataSource1.Rows[0]["SPRAY_CONTENT"] = _result.SprayContent;
  79. ultraDataSource1.Rows[0]["SPRAY_COUNT"] = _result.SprayCount;
  80. if (_result.IsSpray != null)
  81. {
  82. foreach (UltraGridRow ugr in ultraGrid1.Rows)
  83. {
  84. if (!_result.IsSpray.Equals("无喷标"))
  85. {
  86. ugr.Cells["SPRAY_CONTENT"].Appearance.BackHatchStyle = BackHatchStyle.None;
  87. ugr.Cells["SPRAY_CONTENT"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  88. ugr.Cells["SPRAY_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.None;
  89. ugr.Cells["SPRAY_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit;
  90. }
  91. else
  92. {
  93. ugr.Cells["SPRAY_CONTENT"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  94. ugr.Cells["SPRAY_CONTENT"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  95. ugr.Cells["SPRAY_COUNT"].Appearance.BackHatchStyle = BackHatchStyle.Default;
  96. ugr.Cells["SPRAY_COUNT"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly;
  97. }
  98. }
  99. }
  100. }
  101. else
  102. {
  103. GridHelper.InitCardGrid(ultraDataSource1, ultraGrid1);
  104. }
  105. ultraGrid1.UpdateData();
  106. }
  107. /// <summary>
  108. /// 控件编辑后更新已修改数据
  109. /// </summary>
  110. public new void Update()
  111. {
  112. ultraGrid1.UpdateData();
  113. }
  114. /// <summary>
  115. /// 控件编辑后更新已修改数据
  116. /// </summary>
  117. /// <param name="sender"></param>
  118. /// <param name="e"></param>
  119. private void ultraGrid1_AfterCellUpdate(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  120. {
  121. try
  122. {
  123. switch(e.Cell.Column.Key)
  124. {
  125. case "MembranceThick":
  126. Value.MembranceThick = e.Cell.Value.ToString();
  127. break;
  128. case "Adhesion":
  129. Value.Adhesion = e.Cell.Value.ToString();
  130. break;
  131. case "InspectShift":
  132. Value.ColShft = e.Cell.Value.ToString();
  133. break;
  134. case "InspectGroup":
  135. Value.ColGroup = e.Cell.Value.ToString();
  136. break;
  137. case "InspectOperator":
  138. Value.ColUser = e.Cell.Value.ToString();
  139. break;
  140. case "InspectTime":
  141. Value.ColTime = e.Cell.Value.ToString();
  142. break;
  143. case "AntiCorrosion":
  144. Value.AntiCorrosion = e.Cell.Value.ToString();
  145. break;
  146. case "SurfaceCondition":
  147. Value.SurfaceCondition = e.Cell.Value.ToString();
  148. break;
  149. case "ReactionTime":
  150. Value.ReactionTime = e.Cell.Value.ToString();
  151. break;
  152. case "Producer":
  153. Value.Producer = e.Cell.Value.ToString();
  154. break;
  155. case "Produce_Time":
  156. Value.ProducerTime = e.Cell.Value.ToString();
  157. break;
  158. case "COL_COUNT":
  159. Value.ColCount = e.Cell.Value.ToString();
  160. break;
  161. case "COL_OPERATOR":
  162. Value.ColOperator = e.Cell.Value.ToString();
  163. break;
  164. case "IS_SPRAY":
  165. Value.IsSpray = e.Cell.Value.ToString();
  166. break;
  167. case "REMARK":
  168. Value.Remark = e.Cell.Value.ToString();
  169. break;
  170. case "SPRAY_CONTENT":
  171. Value.SprayContent = e.Cell.Value.ToString();
  172. break;
  173. case "SPRAY_COUNT":
  174. Value.SprayCount = e.Cell.Value.ToString();
  175. break;
  176. }
  177. }
  178. catch
  179. { }
  180. }
  181. /// <summary>
  182. /// 验证格试
  183. /// </summary>
  184. public bool ValidInput1()
  185. {
  186. //bool p = true;
  187. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["COL_COUNT"].ToString()))
  188. {
  189. MessageBox.Show("个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  190. return false;
  191. }
  192. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["MembranceThick"].ToString()))
  193. {
  194. MessageBox.Show("膜厚 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  195. return false;
  196. }
  197. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["AntiCorrosion"].ToString()))
  198. {
  199. MessageBox.Show("耐蚀性 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  200. return false;
  201. }
  202. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["ReactionTime"].ToString()))
  203. {
  204. MessageBox.Show("反应时间 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  205. return false;
  206. }
  207. if (_result.IsSpray.Equals("是"))
  208. {
  209. if (!StringUtil.IsInt(ultraDataSource1.Rows[0]["SPRAY_COUNT"].ToString()))
  210. {
  211. MessageBox.Show("喷标个数 请输入整数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
  212. return false;
  213. }
  214. }
  215. return true;
  216. }
  217. /// <summary>
  218. /// 设置grid中一部分的编辑模式
  219. /// </summary>
  220. /// <param name="pamars">要设置的部分</param>
  221. /// <param name="activation"></param>
  222. public void SetGridActivation(Object[] pamars, Activation activation)
  223. {
  224. if (pamars != null)
  225. {
  226. foreach (string column in pamars)
  227. {
  228. // this.ultraGrid1.DisplayLayout.Override.CellAppearance
  229. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellActivation = activation;
  230. // Infragistics.Win.UltraWinGrid.CellEventArgs e = new CellEventArgs(this.ultraGrid1.Selected.Cells);
  231. //e.Cell.Column.CellActivation.ToString() = activation;
  232. if (activation == Activation.AllowEdit)
  233. {
  234. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellAppearance.BackColor = Color.White;
  235. if (column == "Produce_Time")
  236. {
  237. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].EditorComponent = this.PhospTime;
  238. }
  239. }
  240. else
  241. {
  242. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].CellAppearance.BackColor = Color.Gray;
  243. if (column == "Produce_Time")
  244. {
  245. this.ultraGrid1.DisplayLayout.Bands[0].Columns[column].EditorComponent = null;
  246. }
  247. }
  248. }
  249. }
  250. }
  251. }
  252. }