ComBaseStdChoice.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. using Core.Mes.Client.Comm.Control;
  2. using Core.Mes.Client.Comm.Server;
  3. using CoreFS.CA06;
  4. using Infragistics.Win.UltraWinGrid;
  5. using System;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Windows.Forms;
  9. namespace Core.StlMes.Client.Qcm
  10. {
  11. public partial class ComBaseStdChoice : FrmBase
  12. {
  13. private string _choiceStdCodes;
  14. public string ChoiceStdCodes
  15. {
  16. get { return _choiceStdCodes; }
  17. set { _choiceStdCodes = value; }
  18. }
  19. private string _choiceStdNames;
  20. public string ChoiceStdNames
  21. {
  22. get { return _choiceStdNames; }
  23. set { _choiceStdNames = value; }
  24. }
  25. //查询条件
  26. private string[] _styles;
  27. private string _stdCodes = "";
  28. public ComBaseStdChoice(string[] styles, string stdCodes, OpeBase ob)
  29. {
  30. InitializeComponent();
  31. this.ob = ob;
  32. _stdCodes = stdCodes;
  33. _styles = styles;
  34. }
  35. private void Query(string stdCodes)
  36. {
  37. string stdName = "";
  38. ultraGrid1.BeginUpdate();
  39. DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.GetComBaseStdByStyle",
  40. new object[] { _styles,stdName }, ob);
  41. string[] stdCodeArray = stdCodes.Split(';');
  42. foreach (DataRow row in dt.Rows)
  43. {
  44. if (stdCodeArray.Contains(row["STD_CODE"].ToString()))
  45. {
  46. row["CHK"] = true;
  47. }
  48. }
  49. dt.DefaultView.Sort = "CHK DESC, STD_NAME ASC";
  50. GridHelper.CopyDataToDatatable(dt.DefaultView.ToTable(), this.dataTable1, true);
  51. ultraGrid1.EndUpdate();
  52. ultraGrid1.UpdateData();
  53. }
  54. private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e)
  55. {
  56. e.Cell.Row.Update();
  57. }
  58. private void ultraButton1_Click(object sender, EventArgs e)
  59. {
  60. ultraGrid1.UpdateData();
  61. var rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True");
  62. var codeRows = rows.Select(a => a.GetValue("STD_CODE"));
  63. _choiceStdCodes = string.Join(";", codeRows);
  64. var nameRows = rows.Select(a => a.GetValue("STD_NAME"));
  65. _choiceStdNames = string.Join(";", nameRows);
  66. this.DialogResult = System.Windows.Forms.DialogResult.OK;
  67. }
  68. private void ultraButton2_Click(object sender, EventArgs e)
  69. {
  70. this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
  71. }
  72. private void ComBaseStdChoice_Load(object sender, EventArgs e)
  73. {
  74. try
  75. {
  76. this.Cursor = Cursors.WaitCursor;
  77. Query(_stdCodes);
  78. }
  79. finally
  80. {
  81. this.Cursor = Cursors.Default;
  82. }
  83. }
  84. protected override void OnLoad(EventArgs e)
  85. {
  86. base.OnLoad(e);
  87. ultraGrid1.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow;
  88. ultraGrid1.DisplayLayout.Override.FilterOperatorDefaultValue = Infragistics.Win.UltraWinGrid.FilterOperatorDefaultValue.Contains;
  89. //ultraGrid2.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect;
  90. }
  91. }
  92. }