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 FrmRepSteel : FrmBase
{
public FrmRepSteel()
{
InitializeComponent();
}
private OpeBase ob1;
public OpeBase Ob1
{
get { return ob1; }
set { ob1 = 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; }
}
//查询
public void DoQuery()
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.JGCodeManage.getSteelGrade",
new Object[] { }, this.Ob1);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
}
///
/// 初始被选择项
///
private void SetSelect()
{
if (desc.Equals("") && code.Equals(""))
return;
string[] str = desc.Split(';');
List strCode = code.Split(';').ToList();
for (int i = 0; i < dataTable1.Rows.Count; i++)
{
DataRow dr = dataTable1.Rows[i];
if (strCode.Contains(dr["STEELCODE"].ToString()))
{
dr["CHK"] = true;
strCode.Remove(dr["STEELCODE"].ToString());
}
}
}
private void FrmRepSteel_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 SortRows()
{
DataTable dtSort = dataTable1.Copy();
dtSort.DefaultView.Sort = "CHK DESC, STEELNAME ASC";
GridHelper.CopyDataToDatatable(dtSort.DefaultView.ToTable(), dataTable1, true);
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
ultraGrid1.UpdateData();
UltraGridRow row = null;
var rows = ultraGrid1.Rows.Where(a => a.GetValue("CHK") == "True");
string modelcode = string.Join(";", rows.Select(a => a.GetValue("STEELCODE")));
string modeldesc = string.Join(";", rows.Select(a => a.GetValue("STEELNAME")));
this.Code = modelcode;
this.Desc = modeldesc;
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
}
}
}