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 FrmModel : FrmBase
{
public FrmModel()
{
InitializeComponent();
}
private OpeBase _ob;
// 传入值
public OpeBase FrmOb
{
get { return _ob; }
set { _ob = 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; }
}
private string modelStyle = "";
public string ModelStyle
{
get { return modelStyle; }
set { modelStyle = value; }
}
//查询
public void DoQuery()
{
DataTable dt = ServerHelper.GetData("com.steering.pss.qcm.ComBaseQuery.getComBaseModel", new Object[] { modelStyle }, this._ob);
GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true);
}
//初始化
private void Form1_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 button1_Click(object sender, EventArgs e)
{
ultraGrid1.UpdateData();
UltraGridRow row = null;
var rows = ultraGrid1.Rows.Where(a => a.GetValue("CHC") == "True");
string modelcode = string.Join("|", rows.Select(a => a.GetValue("MODEL_CODE")));
string modeldesc = string.Join("|", rows.Select(a => a.GetValue("MODEL_DESC")));
this.Code = modelcode;
this.Desc = modeldesc;
this.DialogResult = System.Windows.Forms.DialogResult.OK;
}
///
/// 初始被选择项
///
private void SetSelect()
{
if (desc.Equals(""))
return;
List str = desc.Split('|').ToList();
for (int i = 0; i < dataTable1.Rows.Count; i++)
{
DataRow dr = dataTable1.Rows[i];
if (str.Contains(dr["MODEL_DESC"].ToString()))
{
dr["CHC"] = true;
str.Remove(dr["MODEL_DESC"].ToString());
}
}
}
private void SortRows()
{
DataTable sortDt = dataTable1.Copy();
sortDt.DefaultView.Sort = "CHC DESC, MODEL_DESC ASC";
GridHelper.CopyDataToDatatable(sortDt.DefaultView.ToTable(), dataTable1, true);
}
private void ultraGrid1_CellChange(object sender, CellEventArgs e)
{
ultraGrid1.UpdateData();
}
}
}