using Core.Mes.Client.Comm.Control; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Tool; using CoreFS.CA06; using System; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Forms { public partial class ChoicePlineFrm : FrmBase { private string _choicePlineCode = ""; public string ChoicePlineCode { get { return _choicePlineCode; } set { _choicePlineCode = value; } } private string _choicePlineName = ""; public string ChoicePlineName { get { return _choicePlineName; } set { _choicePlineName = value; } } private DataTable _dtPline = null; public ChoicePlineFrm(DataTable dtPline, string choicePlineCode, OpeBase ob) { InitializeComponent(); _dtPline = dtPline; this.ob = ob; GridHelper.CopyDataToDatatable(dtPline, dataTable1, true); foreach (var row in ultraGrid1.Rows) { if (choicePlineCode.Contains(row.GetValue("plineCode"))) { row.Cells["chk"].Value = true; row.Update(); } } } private void Query() { string plineName = labelTextBox1.Text.Trim(); string factoryDesc = labelComboBox1.Text.ToString2(); string checkStationDesc = labelComboBox2.Text.ToString2(); if (labelTextBox1.Checked && labelComboBox1.Checked && labelComboBox2.Checked) { _dtPline.DefaultView.RowFilter = "plineName like '%" + plineName + "%' and factoryDesc like '%" + factoryDesc + "%' and checkStationDesc like '%" + checkStationDesc + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else if (labelTextBox1.Checked && labelComboBox1.Checked) { _dtPline.DefaultView.RowFilter = "plineName like '%" + plineName + "%' and factoryDesc like '%" + factoryDesc + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else if (labelTextBox1.Checked && labelComboBox2.Checked) { _dtPline.DefaultView.RowFilter = "plineName like '%" + plineName + "%' and checkStationDesc like '%" + checkStationDesc + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else if (labelComboBox1.Checked && labelComboBox2.Checked) { _dtPline.DefaultView.RowFilter = "factoryDesc like '%" + factoryDesc + "%' and checkStationDesc like '%" + checkStationDesc + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else if (labelTextBox1.Checked) { _dtPline.DefaultView.RowFilter = "plineName like '%" + plineName + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else if (labelComboBox1.Checked) { _dtPline.DefaultView.RowFilter = "factoryDesc like '%" + factoryDesc + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else if (labelComboBox2.Checked) { _dtPline.DefaultView.RowFilter = "checkStationDesc like '%" + checkStationDesc + "%'"; DataTable dt = _dtPline.DefaultView.ToTable(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); } else { GridHelper.CopyDataToDatatable(_dtPline, dataTable1, true); } foreach (var row in ultraGrid1.Rows) { row.Cells["chk"].Value = true; row.Update(); } } private void Submit() { var rows = ultraGrid1.Rows.Where(a => a.GetValue("chk") == "True"); if (rows.Count() == 0) { MessageUtil.ShowWarning("请选择一行记录!"); return; } _choicePlineCode = string.Join(",", rows.Select(a => a.GetValue("plineCode")).ToArray()); _choicePlineName = string.Join(",", rows.Select(a => a.GetValue("plineName")).ToArray()); this.DialogResult = System.Windows.Forms.DialogResult.OK; } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "查询": Query(); break; case "确认": Submit(); break; case "关闭": this.Close(); break; } } private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { e.Cell.Row.Update(); } private void ChoicePlineFrm_Load(object sender, EventArgs e) { ClsBaseInfo.FillComBaseInfo(labelComboBox1.ComboBox, "4105", ob, false); ClsBaseInfo.FillComBaseInfo(labelComboBox2.ComboBox, "4106", ob, false); string factoryDescs = ""; foreach (DataRow dr in dataTable1.Rows) { if (factoryDescs == "") { if (dr["factoryDesc"].ToString() != "") { factoryDescs = "'" + dr["factoryDesc"].ToString() + "'"; } } else { if (dr["factoryDesc"].ToString() != "") { factoryDescs += ", '" + dr["factoryDesc"].ToString() + "'"; } } } factoryDescs = factoryDescs.Trim('\''); ((DataTable)labelComboBox1.ComboBox.DataSource).DefaultView.RowFilter = "BASENAME IN ('" + factoryDescs + "')"; string checkDescs = ""; foreach (DataRow dr in dataTable1.Rows) { if (checkDescs == "") { if (dr["checkStationDesc"].ToString() != "") { checkDescs = "'" + dr["checkStationDesc"].ToString() + "'"; } } else { if (dr["checkStationDesc"].ToString() != "") { checkDescs += ", '" + dr["checkStationDesc"].ToString() + "'"; } } } checkDescs = checkDescs.Trim('\''); ((DataTable)labelComboBox2.ComboBox.DataSource).DefaultView.RowFilter = "BASENAME IN ('" + checkDescs + "')"; } private void labelComboBox2_ComboBox_SelectionChangeCommitted(object sender, EventArgs e) { Query(); } private void labelComboBox1_ComboBox_SelectionChangeCommitted(object sender, EventArgs e) { Query(); } private void labelTextBox1_TextBox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyData == Keys.Enter) { Query(); } } } }