using System; using System.Collections; 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.Server; using Core.Mes.Client.Comm.Tool; using Core.StlMes.Client.PlnSaleOrd.BaseMethod; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; namespace Core.StlMes.Client.PlnSaleOrd { public partial class FrmGreaBom : FrmBase { public FrmGreaBom() { InitializeComponent(); } private void FrmGreaBom_Load(object sender, EventArgs e) { BaseHelper.setOtherColumnReadOnly(ultraGrid1,new string[]{"CHC"}); } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query"://查询 Query(); break; case "Spit": //生成 Spit(); break; default: break; } } void Query() { string orderNo = textBox1.Text.Trim(); DataTable dt = ServerHelper.GetData("com.steering.pss.sale.order.bomGeneration.FrmGreaBom.queryOrderNo", new object[] { orderNo }, this.ob); GridHelper.CopyDataToDatatable(ref dt, ref this.dataTable1, true); } void Spit() { ultraGrid1.UpdateData(); IQueryable chcRows = ultraGrid1.Rows.AsQueryable().Where(a => a.GetValue("CHC") == "True"); if (chcRows == null || chcRows.Count() == 0) { MessageUtil.ShowTips("请选择记录!"); return; } ArrayList list = new ArrayList(); foreach(UltraGridRow ugr in chcRows){ list.Add(ugr.Cells["DESGIN_KEY"].Text); } if (MessageUtil.ShowYesNoAndQuestion("是否生成BOM?") == DialogResult.No) { return; } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.bomGeneration.FrmGreaBom"; ccp.MethodName = "greaBom"; ccp.ServerParams = new object[] { list }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); } else { MessageUtil.ShowTips("服务端异常,请重新操作"); } } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { foreach (UltraGridRow uRow in ultraGrid1.Selected.Rows) { if (uRow.GetType() != typeof(Infragistics.Win.UltraWinGrid.UltraGridGroupByRow)) { uRow.Cells["CHC"].Value = true; } } } } }