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 FrmModel : FrmBase { public FrmModel() { InitializeComponent(); } private OpeBase _ob; // 传入值 public OpeBase FrmOb { get { return _ob; } set { _ob = 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; } } private string modelStyle = ""; public string ModelStyle { get { return modelStyle; } set { modelStyle = value; } } //查询 public void DoQuery() { DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getComBaseModel", new Object[] { modelStyle }, this._ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); } //初始化 private void Form1_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 button1_Click(object sender, EventArgs e) { ultraGrid1.UpdateData(); UltraGridRow row = null; var rows = ultraGrid1.Rows.Where(a => a.GetValue("CHC") == "True"); string modelcode = string.Join("|", rows.Select(a => a.GetValue("MODEL_CODE"))); string modeldesc = string.Join("|", rows.Select(a => a.GetValue("MODEL_DESC"))); this.Code = modelcode; this.Desc = modeldesc; this.DialogResult = System.Windows.Forms.DialogResult.OK; } /// /// 初始被选择项 /// private void SetSelect() { if (desc.Equals("")) return; List str = desc.Split('|').ToList(); for (int i = 0; i < dataTable1.Rows.Count; i++) { DataRow dr = dataTable1.Rows[i]; if (str.Contains(dr["MODEL_DESC"].ToString())) { dr["CHC"] = true; str.Remove(dr["MODEL_DESC"].ToString()); } } } private void SortRows() { DataTable sortDt = dataTable1.Copy(); sortDt.DefaultView.Sort = "CHC DESC, MODEL_DESC ASC"; GridHelper.CopyDataToDatatable(sortDt.DefaultView.ToTable(), dataTable1, true); } private void ultraGrid1_CellChange(object sender, CellEventArgs e) { ultraGrid1.UpdateData(); } } }