BaseHelper.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using Core.Mes.Client.Comm.Server;
  7. using CoreFS.CA06;
  8. using Infragistics.Win.UltraWinGrid;
  9. using Infragistics.Win.UltraWinMaskedEdit;
  10. using Infragistics.Win.UltraWinEditors;
  11. using Infragistics.Win;
  12. using System.Text.RegularExpressions;
  13. namespace Core.StlMes.Client.YdmPipeReport.Tool
  14. {
  15. public class BaseHelper
  16. {
  17. /// <summary>
  18. /// 设置列字段显示位置在右
  19. /// </summary>
  20. /// <param name="ug">UltraGrid</param>
  21. /// <param name="columnsKeys">要设置的列</param>
  22. public static void InitCellPosition(UltraGrid ug, string[] columnsKeys)
  23. {
  24. columnsKeys.ToArray();
  25. foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
  26. {
  27. if (columnsKeys.Contains(ugc.Key.ToString()))
  28. {
  29. ugc.CellAppearance.TextHAlign = Infragistics.Win.HAlign.Right;
  30. }
  31. }
  32. }
  33. /// <summary>
  34. /// 设置列显示位数
  35. /// </summary>
  36. /// <param name="ug"></param>
  37. /// <param name="arr"></param>
  38. public static void setUltraGridColumnMaxInput(UltraGrid ug, string[] arr)
  39. {
  40. if (ug == null || arr == null || arr.Length == 0)
  41. {
  42. return;
  43. }
  44. arr.ToArray();
  45. foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
  46. {
  47. if (arr.Contains(ugc.Key.ToString()))
  48. {
  49. ugc.MaskDisplayMode = MaskMode.IncludeLiterals;
  50. ugc.MaskInput = "{LOC}n,nnn,nnn.nnn";
  51. }
  52. }
  53. }
  54. /// <summary>
  55. /// 设置列显示位数
  56. /// </summary>
  57. /// <param name="ug"></param>
  58. /// <param name="arr"></param>
  59. public static void setUltraGridColumnCountInput(UltraGrid ug, string[] arr)
  60. {
  61. if (ug == null || arr == null || arr.Length == 0)
  62. {
  63. return;
  64. }
  65. arr.ToArray();
  66. foreach (UltraGridColumn ugc in ug.DisplayLayout.Bands[0].Columns)
  67. {
  68. if (arr.Contains(ugc.Key.ToString()))
  69. {
  70. ugc.MaskDisplayMode = MaskMode.IncludeLiterals;
  71. ugc.MaskInput = "{LOC}nnn,nnn,nnn";
  72. }
  73. }
  74. }
  75. /// <summary>
  76. /// 列求和
  77. /// </summary>
  78. /// <param name="ug">UltraGrid</param>
  79. /// <param name="columnKeys">列数组</param>
  80. public static void GridColumnSum(UltraGrid ug, string[] columnKeys)
  81. {
  82. if (columnKeys.Length == 0)
  83. {
  84. return;
  85. }
  86. for (int i = 0; i < columnKeys.Length; i++)
  87. {
  88. SummarySettings summary = ug.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug.DisplayLayout.Bands[0].Columns[columnKeys[i]], SummaryPosition.UseSummaryPositionColumn);
  89. summary.DisplayFormat = "{0}";
  90. summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
  91. }
  92. }
  93. /// <summary>
  94. /// 列求和重量
  95. /// </summary>
  96. /// <param name="ug">UltraGrid</param>
  97. /// <param name="columnKeys">列数组(重量)</param>
  98. public static void GridColumnWeghit(UltraGrid ug, string[] columnKeys)
  99. {
  100. if (columnKeys.Length == 0)
  101. {
  102. return;
  103. }
  104. for (int i = 0; i < columnKeys.Length; i++)
  105. {
  106. SummarySettings summary = ug.DisplayLayout.Bands[0].Summaries.Add(SummaryType.Sum, ug.DisplayLayout.Bands[0].Columns[columnKeys[i]], SummaryPosition.UseSummaryPositionColumn);
  107. summary.DisplayFormat = "{0:N3}";
  108. summary.Appearance.TextHAlign = Infragistics.Win.HAlign.Right;
  109. }
  110. }
  111. /// <summary>
  112. /// UltraGrid可读
  113. /// </summary>
  114. /// <param name="ugr">UltraGrid</param>
  115. /// <param name="keys">可编辑列</param>
  116. public static void setOtherColumnReadOnly(UltraGrid ugr, string[] keys)
  117. {
  118. keys.ToArray();
  119. foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns)
  120. {
  121. if (!keys.Contains(ugc.Key))
  122. {
  123. ugc.CellActivation = Activation.ActivateOnly;
  124. }
  125. }
  126. }
  127. /// <summary>
  128. /// 销售组织权限
  129. /// </summary>
  130. /// <param name="validDataPurviewIds">数据权限</param>
  131. /// <param name="ob"></param>
  132. /// <returns>字符串数组</returns>
  133. public static string[] InitPermissions(string[] validDataPurviewIds, OpeBase ob)
  134. {
  135. string[] arr = null;
  136. DataTable dt = ServerHelper.GetData("com.steering.pss.ydm.base.WarehousePermissions.getSalgPermissions", new object[] { validDataPurviewIds }, ob);
  137. if (dt != null && dt.Rows.Count > 0)
  138. {
  139. arr = new string[dt.Rows.Count];
  140. for (int i = 0; i < dt.Rows.Count; i++)
  141. {
  142. arr[i] = dt.Rows[i][0].ToString();
  143. }
  144. }
  145. return arr;
  146. }
  147. /// <summary>
  148. /// 设置UltraComboEditor中的中文和非中文统一高度。
  149. /// </summary>
  150. /// <param name="cmb"></param>
  151. public static void SetComboItemHeight(UltraComboEditor cmb)
  152. {
  153. foreach (ValueListItem item in cmb.Items)
  154. {
  155. if (Regex.IsMatch(item.DisplayText, @"[\u4e00-\u9fa5]+"))
  156. {
  157. item.Appearance.FontData.SizeInPoints = 9.0F;
  158. }
  159. else
  160. {
  161. item.Appearance.FontData.SizeInPoints = 10.5F;
  162. }
  163. }
  164. }
  165. }
  166. }