using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class ComBaseStdChoice : FrmBase { private string _choiceStdCodes; public string ChoiceStdCodes { get { return _choiceStdCodes; } set { _choiceStdCodes = value; } } private string _choiceStdNames; public string ChoiceStdNames { get { return _choiceStdNames; } set { _choiceStdNames = value; } } //查询条件 private string[] _styles; private string _stdCodes = ""; public ComBaseStdChoice(string[] styles, string stdCodes, OpeBase ob) { InitializeComponent(); this.ob = ob; _stdCodes = stdCodes; _styles = styles; } private void Query(string stdCodes) { string stdName = ""; ultraGrid1.BeginUpdate(); DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.CoreProductManage.GetComBaseStdByStyle", new object[] { _styles,stdName }, ob); string[] stdCodeArray = stdCodes.Split(';'); foreach (DataRow row in dt.Rows) { if (stdCodeArray.Contains(row["STD_CODE"].ToString())) { row["CHK"] = true; } } dt.DefaultView.Sort = "CHK DESC, STD_NAME ASC"; GridHelper.CopyDataToDatatable(dt.DefaultView.ToTable(), this.dataTable1, true); ultraGrid1.EndUpdate(); ultraGrid1.UpdateData(); } private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { e.Cell.Row.Update(); } private void ultraButton1_Click(object sender, EventArgs e) { ultraGrid1.UpdateData(); var rows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHK") == "True"); var codeRows = rows.Select(a => a.GetValue("STD_CODE")); _choiceStdCodes = string.Join(";", codeRows); var nameRows = rows.Select(a => a.GetValue("STD_NAME")); _choiceStdNames = string.Join(";", nameRows); this.DialogResult = System.Windows.Forms.DialogResult.OK; } private void ultraButton2_Click(object sender, EventArgs e) { this.DialogResult = System.Windows.Forms.DialogResult.Cancel; } private void ComBaseStdChoice_Load(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; Query(_stdCodes); } finally { this.Cursor = Cursors.Default; } } protected override void OnLoad(EventArgs e) { base.OnLoad(e); ultraGrid1.DisplayLayout.Override.FilterUIType = Infragistics.Win.UltraWinGrid.FilterUIType.FilterRow; ultraGrid1.DisplayLayout.Override.FilterOperatorDefaultValue = Infragistics.Win.UltraWinGrid.FilterOperatorDefaultValue.Contains; //ultraGrid2.DisplayLayout.Override.CellClickAction = Infragistics.Win.UltraWinGrid.CellClickAction.RowSelect; } } }