using Core.Mes.Client.Comm.Control; using CoreFS.CA06; using CoreFS.SA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections; using System.Data; using System.Linq; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class PopupSpecificationsBasics : FrmBase { private FrmSpecificationsBasicsNew2 _frmSpec; private ArrayList _choiceSpecs = new ArrayList(); public ArrayList ChoiceSpecs { get { return _choiceSpecs; } set { _choiceSpecs = value; } } public PopupSpecificationsBasics(string strSpecs, OpeBase ob) { InitializeComponent(); _frmSpec = new FrmSpecificationsBasicsNew2(); _frmSpec.PopupLoad(ob); _frmSpec.MscStyle = "C"; _frmSpec.IsPopup = true; _frmSpec.ToolBar_Click(null, "Query"); setDefaultChoice(strSpecs); foreach (UltraGridColumn column in _frmSpec.UltraGrid1.DisplayLayout.Bands[0].Columns) { column.SortIndicator = SortIndicator.Disabled; } SortRows(); this.panel2.Controls.Add(_frmSpec.UltraGrid1); _frmSpec.UltraGrid1.CellChange += UltraGrid1_CellChange; GridHelper.HidenExcludeColumns(_frmSpec.UltraGrid1.DisplayLayout.Bands[0], "SPEC_NAME", "MSC_STYLE", "DIMATER", "HEIGHT", "CHK"); foreach (UltraGridColumn column in _frmSpec.UltraGrid1.DisplayLayout.Bands[0].Columns) { if (column.Key != "CHK") { column.CellActivation = Activation.ActivateOnly; } } } void UltraGrid1_CellChange(object sender, CellEventArgs e) { _frmSpec.UltraGrid1.UpdateData(); SortRows(); } private void setDefaultChoice(string strSpecs) { if (strSpecs == "") return; string[] strs = strSpecs.Split(';'); IQueryable queryable = _frmSpec.UltraGrid1.Rows.AsQueryable(); foreach (string str in strs) { UltraGridRow[] rows = queryable.Where("SPEC_CODE = '" + str + "'").ToArray(); if (rows.Length > 0) { rows[0].SetValue("CHK", "True"); } } _frmSpec.UltraGrid1.UpdateData(); } private void SortRows() { DataTable sortDt = _frmSpec.dataTable1.Copy(); sortDt.DefaultView.Sort = "CHK DESC, SPEC_NAME ASC"; _frmSpec.UltraGrid1.BeginUpdate(); GridHelper.CopyDataToDatatable(sortDt.DefaultView.ToTable(), _frmSpec.dataTable1, true); _frmSpec.UltraGrid1.EndUpdate(); } private void btnOk_Click(object sender, EventArgs e) { UltraGridRow[] rows = _frmSpec.UltraGrid1.Rows.AsQueryable().Where("CHK = 'True'").ToArray(); _choiceSpecs.Clear(); foreach (UltraGridRow row in rows) { string[] strs = new string[3]; strs[0] = row.GetValue("SPEC_CODE"); strs[1] = row.GetValue("SPEC_NAME"); strs[2] = CoreUserInfo.UserInfo.GetUserName(); _choiceSpecs.Add(strs); } this.DialogResult = DialogResult.OK; } private void btnCanCel_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Cancel; } } }