frmSetStatisticsMode.cs 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. using Core.Mes.Client.Common;
  9. using CoreFS.CA06;
  10. using Infragistics.Win.UltraWinDataSource;
  11. using Infragistics.Win.UltraWinGrid;
  12. using System.Collections;
  13. namespace Core.LgMes.Client.Report
  14. {
  15. public partial class frmSetStatisticsMode : Core.Mes.Client.Common.frmStyleBase
  16. {
  17. public UltraGrid ultraMain;
  18. public bool blColse = false;
  19. public Hashtable htMode = new Hashtable();
  20. public bool blSelect =false;
  21. public frmSetStatisticsMode(ref UltraGrid ultragrid)
  22. {
  23. ultraMain = ultragrid;
  24. InitializeComponent();
  25. }
  26. private void frmSetStatisticsMode_Load(object sender, EventArgs e)
  27. {
  28. InitializeColumn();
  29. }
  30. private void InitializeColumn()
  31. {
  32. //定义存放汇总方式(0:标题,1:计数,2:合计,3:平均,4:最大,5:最小)
  33. string[] strOpt = new string[6];
  34. int intCount = 0;
  35. try
  36. {
  37. for (int i = 0; i < ultraMain.DisplayLayout.Bands[0].Columns.Count; i++)
  38. {
  39. if (!String.IsNullOrEmpty(ultraMain.DisplayLayout.Bands[0].Columns[i].Header.Caption)
  40. && ultraMain.DisplayLayout.Bands[0].Columns[i].Hidden == false)
  41. {
  42. ultraDataSource1.Rows.Add(new object[] {false,
  43. ultraMain.DisplayLayout.Bands[0].Columns[i].Header.Column.Key,
  44. ultraMain.DisplayLayout.Bands[0].Columns[i].Header.Caption,
  45. false,true,true,true,true,true,
  46. ultraMain.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginY,
  47. ultraMain.DisplayLayout.Bands[0].Columns[i].RowLayoutColumnInfo.OriginX
  48. });
  49. if (ultraMain.DisplayLayout.Bands[0].Columns[i].Tag != null)
  50. {
  51. strOpt[0] = ultraMain.DisplayLayout.Bands[0].Columns[i].Tag.ToString().Substring(0, 1);
  52. strOpt[1] = ultraMain.DisplayLayout.Bands[0].Columns[i].Tag.ToString().Substring(1, 1);
  53. strOpt[2] = ultraMain.DisplayLayout.Bands[0].Columns[i].Tag.ToString().Substring(2, 1);
  54. strOpt[3] = ultraMain.DisplayLayout.Bands[0].Columns[i].Tag.ToString().Substring(3, 1);
  55. strOpt[4] = ultraMain.DisplayLayout.Bands[0].Columns[i].Tag.ToString().Substring(4, 1);
  56. strOpt[5] = ultraMain.DisplayLayout.Bands[0].Columns[i].Tag.ToString().Substring(5, 1);
  57. ultraDataSource1.Rows[intCount][0] = true;
  58. ultraDataSource1.Rows[intCount][3] = strOpt[0] == "1" ? "true" : "false";
  59. ultraDataSource1.Rows[intCount][4] = strOpt[1] == "1" ? "true" : "false";
  60. ultraDataSource1.Rows[intCount][5] = strOpt[2] == "1" ? "true" : "false";
  61. ultraDataSource1.Rows[intCount][6] = strOpt[3] == "1" ? "true" : "false";
  62. ultraDataSource1.Rows[intCount][7] = strOpt[4] == "1" ? "true" : "false";
  63. ultraDataSource1.Rows[intCount][8] = strOpt[5] == "1" ? "true" : "false";
  64. }
  65. intCount++;
  66. }
  67. }
  68. }
  69. catch
  70. {
  71. }
  72. }
  73. private void ultlbarTools_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  74. {
  75. switch (e.Tool.Key)
  76. {
  77. case "SAVE":
  78. SaveStatisticsMode();
  79. if (blSelect == false)
  80. {
  81. MessageBox.Show("没有选择要汇总的项目名称,请选择!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
  82. }
  83. else
  84. {
  85. this.Close();
  86. }
  87. break;
  88. case "All":
  89. InitializeSelect(true);
  90. break;
  91. case "Cancel":
  92. InitializeSelect(false);
  93. break;
  94. case "EXIT":
  95. this.Close();
  96. break;
  97. }
  98. }
  99. /// <summary>
  100. /// 全选或全部取消
  101. /// </summary>
  102. /// <param name="blValue"></param>
  103. private void InitializeSelect(bool blValue)
  104. {
  105. foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultragridMode.Rows)
  106. {
  107. row.Cells["FLAG"].Value = blValue;
  108. if (blValue == false) row.Update();
  109. }
  110. }
  111. /// <summary>
  112. /// 保存设置汇总方式
  113. /// </summary>
  114. private void SaveStatisticsMode()
  115. {
  116. for (int i = 0; i < ultragridMode.Rows.Count; i++)
  117. {
  118. if (ultragridMode.Rows[i].Cells["FLAG"].Text == "True")
  119. {
  120. if(htMode.Contains(ultragridMode.Rows[i].Cells["COLUMNNAME"].Value.ToString()))
  121. htMode.Remove(ultragridMode.Rows[i].Cells["COLUMNNAME"].Value.ToString());
  122. htMode.Add( ultragridMode.Rows[i].Cells["COLUMNNAME"].Value.ToString(),
  123. (ultragridMode.Rows[i].Cells["TITLE"].Text.ToString().ToUpper() == "TRUE" ? "1" : "0").ToString() +
  124. (ultragridMode.Rows[i].Cells["COUNT"].Text.ToString().ToUpper() == "TRUE" ? "1" : "0").ToString() +
  125. (ultragridMode.Rows[i].Cells["SUM"].Text.ToString().ToUpper() == "TRUE" ? "1" : "0").ToString() +
  126. (ultragridMode.Rows[i].Cells["AVG"].Text.ToString().ToUpper() == "TRUE" ? "1" : "0").ToString() +
  127. (ultragridMode.Rows[i].Cells["MAX"].Text.ToString().ToUpper() == "TRUE" ? "1" : "0").ToString() +
  128. (ultragridMode.Rows[i].Cells["MIN"].Text.ToString().ToUpper() == "TRUE" ? "1" : "0").ToString()
  129. );
  130. blSelect=true;
  131. }
  132. }
  133. }
  134. private void frmSetStatisticsMode_FormClosing(object sender, FormClosingEventArgs e)
  135. {
  136. blColse = true;
  137. }
  138. }
  139. }