using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class FrmRepSteel : FrmBase { public FrmRepSteel() { InitializeComponent(); } private OpeBase ob1; public OpeBase Ob1 { get { return ob1; } set { ob1 = value; } } private string code = ""; public string Code { get { return code; } set { code = value; } } private string desc = ""; public string Desc { get { return desc; } set { desc = value; } } //查询 public void DoQuery() { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.getSteelGrade", new Object[] { }, this.Ob1); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); } /// /// 初始被选择项 /// private void SetSelect() { if (desc.Equals("") && code.Equals("")) return; string[] str = desc.Split(';'); List strCode = code.Split(';').ToList(); for (int i = 0; i < dataTable1.Rows.Count; i++) { DataRow dr = dataTable1.Rows[i]; if (strCode.Contains(dr["STEELCODE"].ToString())) { dr["CHK"] = true; strCode.Remove(dr["STEELCODE"].ToString()); } } } private void FrmRepSteel_Load(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; ultraGrid1.BeginUpdate(); DoQuery(); SetSelect(); SortRows(); ultraGrid1.EndUpdate(); ultraGrid1.UpdateData(); } finally { this.Cursor = Cursors.Default; } } private void SortRows() { DataTable dtSort = dataTable1.Copy(); dtSort.DefaultView.Sort = "CHK DESC, STEELNAME ASC"; GridHelper.CopyDataToDatatable(dtSort.DefaultView.ToTable(), dataTable1, true); } private void button2_Click(object sender, EventArgs e) { this.Close(); } private void button1_Click(object sender, EventArgs e) { ultraGrid1.UpdateData(); UltraGridRow row = null; var rows = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True"); string modelcode = string.Join(";", rows.Select(a => a.GetValue("STEELCODE"))); string modeldesc = string.Join(";", rows.Select(a => a.GetValue("STEELNAME"))); this.Code = modelcode; this.Desc = modeldesc; this.DialogResult = System.Windows.Forms.DialogResult.OK; } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); } } }