frmPlineSelected.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using CoreFS.CA06;
  10. using Core.Mes.Client.Comm.Tool;
  11. using Infragistics.Win.UltraWinGrid;
  12. using System.Collections;
  13. using Core.Mes.Client.Comm.Format;
  14. using Core.Mes.Client.Comm.Server;
  15. namespace Core.StlMes.Client.SaleOrder.Dialog
  16. {
  17. public partial class frmPlineSelected : FrmBase
  18. {
  19. private String _ordLnPk;
  20. private OpeBase _ob;
  21. private String plineCode = "";
  22. public frmPlineSelected(String ordLnPk, OpeBase ob)
  23. {
  24. _ordLnPk = ordLnPk;
  25. _ob = ob;
  26. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  27. InitializeComponent();
  28. }
  29. private void frmPlineSelected_Load(object sender, EventArgs e)
  30. {
  31. EntityHelper.ShowGridCaption<SlmOrdDesignMscPlGxPrlEntity>(ultraGrid1.DisplayLayout.Bands[0]);
  32. DoQuery();
  33. setColumnReadOnly(ultraGrid1);
  34. }
  35. private void DoQuery()
  36. {
  37. List<SlmOrdDesignMscPlGxPrlEntity> listSource = EntityHelper.GetData<SlmOrdDesignMscPlGxPrlEntity>(
  38. "com.steering.pss.sale.order.CorePlineSelected.getPlineByOrdLnPk", new object[] { _ordLnPk }, _ob);
  39. slmOrdDesignMscPlGxPrlEntityBindingSource.DataSource = listSource;
  40. setRowColor(ultraGrid1);
  41. }
  42. private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
  43. {
  44. switch (e.Tool.Key)
  45. {
  46. case "Renew":
  47. DoOperate("1");
  48. break;
  49. case "Delete":
  50. DoOperate("0");
  51. break;
  52. case "Close":
  53. this.Close();
  54. break;
  55. default:
  56. break;
  57. }
  58. }
  59. private void DoOperate(String flag)
  60. {
  61. ultraGrid1.UpdateData();
  62. IQueryable<UltraGridRow> checkedRows = ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'");
  63. if (checkedRows.Count() == 0)
  64. {
  65. MessageUtil.ShowWarning("请选择记录");
  66. return;
  67. }
  68. ArrayList list = new ArrayList();
  69. foreach (UltraGridRow ugr in checkedRows)
  70. {
  71. SlmOrdDesignMscPlGxPrlEntity line = (SlmOrdDesignMscPlGxPrlEntity)ugr.ListObject;
  72. plineCode = line.PlineCode.ToString();
  73. string strJson = JSONFormat.Format(line);
  74. list.Add(strJson);
  75. }
  76. CoreClientParam ccp = new CoreClientParam();
  77. ccp.ServerName = "com.steering.pss.sale.order.CorePlineSelected";
  78. ccp.MethodName = "doOperate";
  79. ccp.ServerParams = new object[] { list, flag };
  80. ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal);
  81. if (ccp.ReturnCode != -1)
  82. {
  83. MessageUtil.ShowTips(ccp.ReturnInfo);
  84. DoQuery();
  85. }
  86. }
  87. private void setRowColor(UltraGrid ug)
  88. {
  89. foreach (UltraGridRow ugr in ug.Rows)
  90. {
  91. if (ugr.Cells["Selected"].Value.ToString().Equals("未选"))
  92. {
  93. ugr.Appearance.ForeColor = Color.Red;
  94. }
  95. if (ugr.Cells["PlineCode"].Value.ToString().Equals(plineCode))
  96. {
  97. ugr.Activate();
  98. }
  99. }
  100. }
  101. /// <summary>
  102. /// 设置列只可读
  103. /// </summary>
  104. /// <param name="ugr">UltraGrid</param>
  105. /// <param name="columns">列数组</param>
  106. private void setColumnReadOnly(UltraGrid ugr)
  107. {
  108. foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns)
  109. {
  110. if (!ugc.Key.Equals("CHC"))
  111. {
  112. ugc.CellActivation = Activation.ActivateOnly;
  113. }
  114. }
  115. }
  116. }
  117. }