using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Core.Mes.Client.Comm.Control;
using Core.Mes.Client.Comm.Tool;
using Core.StlMes.Client.Qcm;
using Core.StlMes.Client.Qcm.Control;
using Core.StlMes.Client.Qcm.model;
using CoreFS.CA06;
using Infragistics.Win.UltraWinGrid;
namespace Core.StlMes.Client.SaleOrder.Dialog
{
public partial class PscMscPopup : FrmBase
{
private ComMscCtrl _comMscCtrl;
private ComPscCtrl _comPscCtrl;
private string _choiceMsc = "";
private string _choiceMscDesc = "";
public string ChoiceMscDesc
{
get { return _choiceMscDesc; }
set { _choiceMscDesc = value; }
}
///
/// 选择的冶金规范
///
public string ChoiceMsc
{
get { return _choiceMsc; }
set { _choiceMsc = value; }
}
public PscMscPopup(string msc, OpeBase ob)
{
InitializeComponent();
_choiceMsc = msc;
_comPscCtrl = new ComPscCtrl(splitContainer1.Panel1, ob);
_comMscCtrl = new ComMscCtrl(splitContainer1.Panel2, ob);
_comPscCtrl.UltraGrid1.AfterRowActivate += _comPscCtrl_AfterRowActivate;
GridHelper.HidenExcludeColumns(_comPscCtrl.UltraGrid1.DisplayLayout.Bands[0], "Psc", "PscDesc");
GridHelper.HidenExcludeColumns(_comMscCtrl.UltraGrid1.DisplayLayout.Bands[0],
"Msc", "MscDesc", "UseDesc", "MscStyle", "CHK");
GridHelper.SetExcludeColumnsActive(_comPscCtrl.UltraGrid1.DisplayLayout.Bands[0], "");
GridHelper.SetExcludeColumnsActive(_comMscCtrl.UltraGrid1.DisplayLayout.Bands[0], "CHK");
//GridHelper.SetAllColumnsActive(_comPscCtrl.UltraGrid1.DisplayLayout.Bands[0]);
//GridHelper.SetAllColumnsActive(_comMscCtrl.UltraGrid1.DisplayLayout.Bands[0]);
Query();
IQueryable rows = _comPscCtrl.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("Psc") != "" && _choiceMsc != ""
&& a.GetValue("Psc").Substring(3, 7) == _choiceMsc.Substring(3, 7));
if (rows.Count() > 0)
{
rows.First().Activate();
}
}
void _comPscCtrl_AfterRowActivate(object sender, EventArgs e)
{
PscEntity comPsc = (PscEntity)_comPscCtrl.UltraGrid1.ActiveRow.ListObject;
_comMscCtrl.QueryByPsc(comPsc.Psc.ToString2());
IQueryable rows = _comMscCtrl.UltraGrid1.Rows.AsQueryable().Where(
a => a.GetValue("Msc") == _choiceMsc);
if (rows.Count() > 0)
{
rows.First().Cells["CHK"].Value = true;
_choiceMsc = "";
_comMscCtrl.UltraGrid1.UpdateData();
}
}
private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
{
switch (e.Tool.Key)
{
case "查询":
Query();
break;
case "确认选择":
Choice();
break;
}
}
private void Query()
{
try
{
this.Cursor = Cursors.WaitCursor;
_comPscCtrl.QueryPscDesc(new PscEntity()
{
Producname = labelTextBox1.Checked ? labelTextBox1.Text.Trim() : "",
Steelname = labelTextBox2.Checked ? labelTextBox2.Text.Trim() : "",
StdName = labelTextBox3.Checked ? labelTextBox3.Text.Trim() : ""
});
}
finally
{
this.Cursor = Cursors.Default;
}
}
private void Choice()
{
_comMscCtrl.UltraGrid1.UpdateData();
IQueryable rows = _comMscCtrl.UltraGrid1.Rows.AsQueryable().Where("CHK = 'True'");
if (rows.Count() == 0)
{
MessageUtil.ShowWarning("请选择一行记录!");
return;
}
_choiceMsc = rows.First().GetValue("Msc");
_choiceMscDesc = rows.First().GetValue("MscDesc");
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
}
}
}