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 CoreFS.CA06; using Core.Mes.Client.Comm.Tool; using Infragistics.Win.UltraWinGrid; using System.Collections; using Core.Mes.Client.Comm.Format; using Core.Mes.Client.Comm.Server; namespace Core.StlMes.Client.SaleOrder.Dialog { public partial class frmPlineSelected : FrmBase { private String _ordLnPk; private OpeBase _ob; private String plineCode = ""; public frmPlineSelected(String ordLnPk, OpeBase ob) { _ordLnPk = ordLnPk; _ob = ob; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; InitializeComponent(); } private void frmPlineSelected_Load(object sender, EventArgs e) { EntityHelper.ShowGridCaption(ultraGrid1.DisplayLayout.Bands[0]); DoQuery(); setColumnReadOnly(ultraGrid1); } private void DoQuery() { List listSource = EntityHelper.GetData( "com.steering.pss.sale.order.CorePlineSelected.getPlineByOrdLnPk", new object[] { _ordLnPk }, _ob); slmOrdDesignMscPlGxPrlEntityBindingSource.DataSource = listSource; setRowColor(ultraGrid1); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "Renew": DoOperate("1"); break; case "Delete": DoOperate("0"); break; case "Close": this.Close(); break; default: break; } } private void DoOperate(String flag) { ultraGrid1.UpdateData(); IQueryable checkedRows = ultraGrid1.Rows.AsQueryable().Where(" CHC = 'True'"); if (checkedRows.Count() == 0) { MessageUtil.ShowWarning("请选择记录"); return; } ArrayList list = new ArrayList(); foreach (UltraGridRow ugr in checkedRows) { SlmOrdDesignMscPlGxPrlEntity line = (SlmOrdDesignMscPlGxPrlEntity)ugr.ListObject; plineCode = line.PlineCode.ToString(); string strJson = JSONFormat.Format(line); list.Add(strJson); } CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.sale.order.CorePlineSelected"; ccp.MethodName = "doOperate"; ccp.ServerParams = new object[] { list, flag }; ccp = _ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); DoQuery(); } } private void setRowColor(UltraGrid ug) { foreach (UltraGridRow ugr in ug.Rows) { if (ugr.Cells["Selected"].Value.ToString().Equals("未选")) { ugr.Appearance.ForeColor = Color.Red; } if (ugr.Cells["PlineCode"].Value.ToString().Equals(plineCode)) { ugr.Activate(); } } } /// /// 设置列只可读 /// /// UltraGrid /// 列数组 private void setColumnReadOnly(UltraGrid ugr) { foreach (UltraGridColumn ugc in ugr.DisplayLayout.Bands[0].Columns) { if (!ugc.Key.Equals("CHC")) { ugc.CellActivation = Activation.ActivateOnly; } } } } }