RemanenceRecord.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Windows.Forms;
  5. using Core.StlMes.Client.Mcp.Control.Entity;
  6. using CoreFS.CA06;
  7. using Infragistics.Win;
  8. using Infragistics.Win.UltraWinGrid;
  9. using Infragistics.Win.UltraWinToolbars;
  10. namespace Core.StlMes.Client.Mcp.Control
  11. {
  12. public partial class RemanenceRecord : FrmBase
  13. {
  14. public List<MchRemanenceResultDEntity> Detail { get; private set; }
  15. public RemanenceRecord(List<MchRemanenceResultDEntity> _detail)
  16. {
  17. InitializeComponent();
  18. if (_detail == null) _detail = new List<MchRemanenceResultDEntity>();
  19. mchRemanenceResultDEntityBindingSource.DataSource = _detail.Select(p => p.Clone()).ToList();
  20. }
  21. protected override void OnLoad(EventArgs e)
  22. {
  23. base.OnLoad(e);
  24. ultraGridDetailDes1.DisplayLayout.Override.HeaderClickAction = HeaderClickAction.Default;
  25. ultraGridDetailDes1.DisplayLayout.Override.AllowRowFiltering = DefaultableBoolean.False;
  26. }
  27. private void ultraToolbarsManager1_ToolClick(object sender, ToolClickEventArgs e)
  28. {
  29. switch (e.Tool.Key)
  30. {
  31. case "Save":
  32. Save();
  33. break;
  34. case "Close":
  35. CloseFrm();
  36. break;
  37. }
  38. }
  39. private void CloseFrm()
  40. {
  41. DialogResult = DialogResult.Cancel;
  42. Close();
  43. }
  44. /// <summary>
  45. /// 保存可疑、剔除品
  46. /// </summary>
  47. private void Save()
  48. {
  49. ultraGridDetailDes1.UpdateData();
  50. var list1 =
  51. mchRemanenceResultDEntityBindingSource.DataSource as List<MchRemanenceResultDEntity>;
  52. list1 = list1.Where(p => p.chk).ToList();
  53. Detail = list1;
  54. DialogResult = DialogResult.OK;
  55. }
  56. private void ultraGridDetailDes1_AfterRowInsert(object sender, RowEventArgs e)
  57. {
  58. e.Row.Cells["Measurement"].Value = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
  59. e.Row.Cells["chk"].Value = true;
  60. }
  61. private void ultraGridDetailDes1_ClickCell(object sender, ClickCellEventArgs e)
  62. {
  63. if (ultraGridDetailDes1.ActiveRow.IsAddRow)
  64. {
  65. int a = ultraGridDetailDes1.ActiveCell.Row.Index;
  66. int b = ultraGridDetailDes1.ActiveCell.Column.Index;
  67. ultraGridDetailDes1.Rows.Band.AddNew();
  68. ultraGridDetailDes1.Rows[a].Cells[b].Activated = true;
  69. ultraGridDetailDes1.PerformAction(UltraGridAction.EnterEditMode);
  70. }
  71. }
  72. private void ultraGridDetailDes1_CellChange(object sender, CellEventArgs e)
  73. {
  74. int countA = 0,countB = 0;
  75. double A0, A90, A180, A270,B0,B90,B180,B270 = 0D;
  76. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueA0"].Text, out A0)) countA++;
  77. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueA90"].Text, out A90)) countA++;
  78. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueA180"].Text, out A180)) countA++;
  79. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueA270"].Text, out A270)) countA++;
  80. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueB0"].Text, out B0)) countB++;
  81. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueB90"].Text, out B90)) countB++;
  82. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueB180"].Text, out B180)) countB++;
  83. if (double.TryParse(e.Cell.Row.Cells["MeasurementValueB270"].Text, out B270)) countB++;
  84. e.Cell.Row.Cells["MeasurementValueAavg"].Value = countA > 0
  85. ? Math.Round((A0 + A90 + A180 + A270)/countA, 2).ToString3()
  86. : "";
  87. e.Cell.Row.Cells["MeasurementValueBavg"].Value = countB > 0
  88. ? Math.Round((B0 + B90 + B180 + B270) / countB, 2).ToString3()
  89. : "";
  90. }
  91. }
  92. }