using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Collections; using System.Windows.Forms; using CoreFS.CA06; using PrintSolution; using Infragistics.Win.UltraWinGrid; namespace Core.LZMes.Client.UIJ { public partial class UIJ050020 : FrmBase { public UIJ050020() { InitializeComponent(); } private void UIJ050020_Load(object sender, EventArgs e) { initParam(); } private void initParam() { try { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ04.UIJ040020"; ccp.MethodName = "queryTransUnits"; ccp = this.ExecuteQuery(ccp, CoreInvokeType.Internal); ArrayList transList = (ArrayList)ccp.ReturnObject; int listSize = transList.Count; Infragistics.Win.ValueListItem[] valueListItems = new Infragistics.Win.ValueListItem[listSize]; for (int i = 0; i < listSize; i++) { Infragistics.Win.ValueListItem item = new Infragistics.Win.ValueListItem(); Hashtable ht = (Hashtable)transList[i]; item.DataValue = ht["VALUE"].ToString(); item.DisplayText = ht["LABEL"].ToString(); ; valueListItems[i] = item; } this.ultraComboEditor1.Items.AddRange(valueListItems); } catch (Exception e) { MessageBox.Show(e.Message); } } public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": this.DoQuery(); break; case "Save": this.DoSave(); break; case "Comfirm": this.DoComfirm(); break; case "Print": DoPrint(); break; case "Exit": this.Close(); break; } } /// /// 查询装车计划 /// private void DoQuery() { string shipProgCd = "03"; string fromDate =this.ultraDateTimeEditor1.Value != null ? ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd") : ""; //this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd"); string toDate = this.ultraDateTimeEditor2.Value != null ? ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd") : ""; //this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd"); string shipDirNo = this.textBox1.Text.Trim(); string curProgCd = "DFB"; string laneTp = ""; string entranceSeq = ""; string shipCompNm = 0 > this.ultraComboEditor1.SelectedIndex ? "" : this.ultraComboEditor1.SelectedItem.DataValue.ToString(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "queryTransPlanLt"; DataRowCollection drs = null; string dlivTp = ""; switch (this.tabControl1.SelectedIndex) { case 0: dlivTp = "T"; this.dataSet1.Tables[0].Clear(); ccp.SourceDataTable = this.dataSet1.Tables[0]; ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); drs = dataSet1.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { ultraGrid1.Rows[i].Cells[0].Value = false; ultraGrid1.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } dataSet5.Tables[0].Clear(); dataSet3.Tables[0].Clear(); break; case 1: dlivTp = "C"; this.dataSet2.Tables[0].Clear(); ccp.SourceDataTable = this.dataSet2.Tables[0]; ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); drs = dataSet2.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { ultraGrid4.Rows[i].Cells[0].Value = false; ultraGrid4.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.AllowEdit; } dataSet4.Tables[0].Clear(); dataSet6.Tables[0].Clear(); break; default: return; } } /// /// 排车 /// private void DoSave() { //if (Checkdriv() == "0") //{ // MessageBox.Show("司机身份未复核,请稍后排车!"); // return; //} Infragistics.Win.UltraWinGrid.RowsCollection rs = null; ArrayList list = new ArrayList(); string[] param = null; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; switch (this.tabControl1.SelectedIndex) { case 0://火车 label10.Focus(); ultraGrid1.Update(); rs = this.ultraGrid1.Rows; for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { param = new string[6]; param[0] = rs[i].Cells["ALLOC_SEQ"].Value.ToString().Trim(); param[1] = rs[i].Cells["TRANS_CAR_NO"].Value.ToString().Trim(); param[2] = rs[i].Cells["LANE_TP"].Value.ToString().Trim(); param[3] = rs[i].Cells["ENTERANCE_SEQ"].Value.ToString().Trim(); param[4] = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim(); param[5] = rs[i].Cells["SHIP_DIRNO"].Value.ToString().Trim(); list.Add(param); //if (param[1] == null || param[1].Equals("")) //{ // MessageBox.Show("车辆号不能为空,请确认后重新操作!"); // return; //} //if (param[2] == null || param[2].Equals("")) //{ // MessageBox.Show("入库道次不能为空,请确认后重新操作!"); // return; //} //if (param[3] == null || param[3].Equals("")) //{ // MessageBox.Show("装车次数不能为空,请确认后重新操作!"); // return; //} } } ccp.MethodName = "saveSHIPDIRTRAINLt"; ccp.ServerParams = new Object[] { list }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { //设置单元格禁用 rs[i].Cells["CHK"].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled; } } queryDlivDirCoil("T"); break; case 1://汽车 label13.Focus(); this.ultraGrid4.Update(); rs = this.ultraGrid4.Rows; for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { if("".Equals(rs[i].Cells["TRANS_CAR_NO"].Text.ToString())) { MessageBox.Show(string.Format(" 运送指示号:'{0}'车辆号为空,", rs[i].Cells["DLIV_DIRNO"].Text.ToString())); return; } param = new string[6]; param[0] = rs[i].Cells["ALLOC_SEQ"].Text.ToString().Trim(); param[1] = rs[i].Cells["TRANS_CAR_NO"].Text.ToString().Trim(); param[2] = rs[i].Cells["DLIV_DIRNO"].Text.ToString().Trim(); param[3] = rs[i].Cells["SHIP_DIRNO"].Text.ToString().Trim(); param[4] = rs[i].Cells["ORD_NO"].Text.ToString().Trim(); param[5] = rs[i].Cells["ORD_SEQ"].Text.ToString().Trim(); list.Add(param); } } ccp.MethodName = "saveSHIPDIRCARLt"; ccp.ServerParams = new Object[] { list }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { //设置单元格禁用 rs[i].Cells["CHK"].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled; } } queryDlivDirCoil("C"); break; default: return; } } /// /// 确认装车操作 /// private void DoComfirm() { if (DialogResult.Yes != MessageBox.Show("确认后不能进行排车操作,是否排车完毕?", "提示", MessageBoxButtons.YesNo)) { return; } //用户名 string regId = this.UserInfo.GetUserID(); //超重是否继续装车标识 bool top_wgt = false; //超数车辆数量 int num_car = 0; Infragistics.Win.UltraWinGrid.RowsCollection rs = null; ArrayList list = new ArrayList(); string[] param = null; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; switch (this.tabControl1.SelectedIndex) { case 0: rs = this.ultraGrid2.Rows; for (int i = 0; i < rs.Count; i++) { if (!"TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { MessageBox.Show("第" + (i + 1) + "行的选择项没有选择,作为同一批次的车不同出现为空的现象!"); return; } param = new string[8]; param[0] = rs[i].Cells["ALLOC_SEQ"].Text.Trim();//排车顺序号 param[1] = rs[i].Cells["TRANS_CAR_NO"].Text.Trim();//车厢号 param[2] = rs[i].Cells["DLIV_DIRNO"].Text.Trim();//运输号 param[3] = rs[i].Cells["SHIP_DIRNO"].Text.Trim();//发货指示号 param[4] = rs[i].Cells["OLD_SAMPL_NO"].Text.Trim();//批次号 param[5] = rs[i].Cells["COIL_NO"].Text.Trim();//钢卷号 param[6] = rs[i].Cells["ACT_WGT"].Text.Trim();//钢卷重量 param[7] = rs[i].Cells["CUR_LOAD_LOC"].Text.Trim();//垛位 list.Add(param); } ccp.MethodName = "saveDLIVDIRCAR"; ccp.ServerParams = new Object[] { regId, UserInfo.GetUserOrder(), UserInfo.GetUserGroup(), list }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.queryDlivDirCoil("T"); break; case 1: rs = this.ultraGrid6.Rows; for (int i = 0; i < rs.Count; i++) { if (!"TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { MessageBox.Show("第" + (i + 1) + "行的选择项没有选择,作为同一批次的车不同出现为空的现象!"); return; } param = new string[8]; param[0] = rs[i].Cells["ALLOC_SEQ"].Text.Trim();//排车顺序号 param[1] = rs[i].Cells["TRANS_CAR_NO"].Text.Trim();//车厢号 param[2] = rs[i].Cells["DLIV_DIRNO"].Text.Trim();//运输号 param[3] = rs[i].Cells["SHIP_DIRNO"].Text.Trim();//发货指示号 param[4] = rs[i].Cells["OLD_SAMPL_NO"].Text.Trim();//批次号 param[5] = rs[i].Cells["COIL_NO"].Text.Trim();//钢卷号 param[6] = rs[i].Cells["ACT_WGT"].Text.Trim();//钢卷重量 param[7] = rs[i].Cells["CUR_LOAD_LOC"].Text.Trim();//垛位 list.Add(param); } ccp.MethodName = "saveDLIVDIRCAR"; ccp.ServerParams = new Object[] { regId,UserInfo.GetUserOrder(),UserInfo.GetUserGroup(), list }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); this.queryDlivDirCoil("C"); break; default: return; } DoQuery(); } /// /// 查询待装车钢卷 queryShipDir /// private void queryDlivDirCoil(string dlivTp) { if ("T".Equals(dlivTp.ToUpperInvariant())) { this.dataSet3.Tables[0].Clear(); CoreClientParam ccp4 = new CoreClientParam(); ccp4.ServerName = "UIJ.UIJ05.UIJ050010"; ccp4.MethodName = "queryShipDir"; ccp4.SourceDataTable = this.dataSet3.Tables[0]; ccp4.ServerParams = new Object[] { dlivTp }; this.ExecuteQueryToDataTable(ccp4, CoreInvokeType.Internal); DataRowCollection drs = dataSet3.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { ultraGrid2.Rows[i].Cells[0].Value = false; } } else { this.dataSet4.Tables[0].Clear(); CoreClientParam ccp4 = new CoreClientParam(); ccp4.ServerName = "UIJ.UIJ05.UIJ050010"; ccp4.MethodName = "queryShipDir"; ccp4.SourceDataTable = this.dataSet4.Tables[0]; ccp4.ServerParams = new Object[] { dlivTp }; this.ExecuteQueryToDataTable(ccp4, CoreInvokeType.Internal); DataRowCollection drs = dataSet4.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { ultraGrid6.Rows[i].Cells[0].Value = false; } } } /// /// 取消火车待装车指示 /// /// /// private void label7_Click(object sender, EventArgs e) { Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid2.Rows; ArrayList list = new ArrayList(); string[] param = null; for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { param = new string[2]; param[0] = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim(); param[1] = rs[i].Cells["SHIP_DIRNO"].Value.ToString().Trim(); bool flag = false; //去除重复的发运指示号 foreach (string[] tmp in list) { if (param[0].Equals(tmp[0]) && param[1].Equals(tmp[1])) { flag = true; break; } } if (!flag) { list.Add(param); } } } if (DialogResult.Yes == MessageBox.Show("是否确认同一运输指示号(计划号)下的钢卷全部选择上?", "提示", MessageBoxButtons.YesNo)) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "returnSHIPDIRCARLt"; ccp.ServerParams = new Object[] { list }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); dataSet3.Tables[0].Clear(); dataSet5.Tables[0].Clear(); this.DoQuery(); } } private void label10_Click(object sender, EventArgs e) { //if (this.ultraComboEditor2.SelectedIndex < 0) //{ // MessageBox.Show("火车入库道次不能为空,请选择相应的入库道次!"); // return; //} //if ("".Equals(this.textBox2.Text.Trim())) //{ // MessageBox.Show("装车次数不能为空,请输入相应的装车次数信息!"); // return; //} string shipProgCd = "04"; string fromDate = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd"); string toDate = this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd"); string shipDirNo = this.textBox1.Text.Trim(); string curProgCd = "DFB"; string laneTp = "";//this.ultraComboEditor2.Value.ToString(); string entranceSeq = this.textBox2.Text.Trim(); string shipCompNm = 0 > this.ultraComboEditor1.SelectedIndex ? "" : this.ultraComboEditor1.SelectedItem.DataValue.ToString(); string dlivTp = "T"; this.dataSet1.Tables[0].Clear(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "queryTransPlanLt"; ccp.SourceDataTable = this.dataSet1.Tables[0]; ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); DataRowCollection drs = dataSet1.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { ultraGrid2.Rows[i].Cells[0].Value = true; ultraGrid2.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled; } queryDlivDirCoil(dlivTp); } private void ultraGrid2_DoubleClickRow(object sender, Infragistics.Win.UltraWinGrid.DoubleClickRowEventArgs e) { Infragistics.Win.UltraWinGrid.UltraGridRow uRow = this.ultraGrid2.ActiveRow; string dlivNo = uRow.Cells["DLIV_DIRNO"].Text.ToString().Trim(); this.dataSet5.Tables[0].Clear(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "queryPlanCoilLt"; ccp.SourceDataTable = this.dataSet5.Tables[0]; ccp.ServerParams = new Object[] { dlivNo }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); } private void label13_Click(object sender, EventArgs e) { string shipProgCd = "04"; string fromDate = this.ultraDateTimeEditor1.DateTime.ToString("yyyyMMdd"); string toDate = this.ultraDateTimeEditor2.DateTime.ToString("yyyyMMdd"); string shipDirNo = this.textBox1.Text.Trim(); string curProgCd = "DFB"; string laneTp = ""; string entranceSeq = ""; string shipCompNm = 0 > this.ultraComboEditor1.SelectedIndex ? "" : this.ultraComboEditor1.SelectedItem.DataValue.ToString(); string dlivTp = "C"; this.dataSet2.Tables[0].Clear(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "queryTransPlanLt"; ccp.SourceDataTable = this.dataSet2.Tables[0]; ccp.ServerParams = new Object[] { shipProgCd, fromDate, toDate, shipDirNo, curProgCd, shipCompNm, dlivTp, laneTp, entranceSeq }; this.ExecuteQueryToDataTable(ccp, CoreInvokeType.Internal); DataRowCollection drs = dataSet2.Tables[0].Rows; for (int i = 0; i < drs.Count; i++) { ultraGrid4.Rows[i].Cells[0].Value = true; ultraGrid4.Rows[i].Cells[0].Column.CellActivation = Infragistics.Win.UltraWinGrid.Activation.Disabled; } queryDlivDirCoil(dlivTp); } private void label15_Click(object sender, EventArgs e) { Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid6.Rows; ArrayList list = new ArrayList(); string[] param = null; for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { param = new string[2]; param[0] = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim(); param[1] = rs[i].Cells["SHIP_DIRNO"].Value.ToString().Trim(); bool flag = false; //去除重复的发运指示号 foreach (string[] tmp in list) { if (param[0].Equals(tmp[0]) && param[1].Equals(tmp[1])) { flag = true; break; } } if (!flag) { list.Add(param); } } } if (DialogResult.Yes == MessageBox.Show("是否确认同一运输指示号(计划号)下的钢卷全部选择上?", "提示", MessageBoxButtons.YesNo)) { CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "returnSHIPDIRCARLt"; ccp.ServerParams = new Object[] { list }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); dataSet4.Tables[0].Clear(); dataSet6.Tables[0].Clear(); this.DoQuery(); } } /// /// 打印产品调运单 /// private void DoPrint() { try { UltraGrid ug = null; if (this.tabControl1.SelectedTab.Text == "火车") { ug = this.ultraGrid1; } else { ug = this.ultraGrid4; } // foreach (Infragistics.Win.UltraWinGrid.UltraGridRow uRow in ultraGrid4.Rows) foreach (Infragistics.Win.UltraWinGrid.UltraGridRow uRow in ug.Rows) { if (Convert.ToBoolean(uRow.Cells["CHK"].Text)) { try { ArrayList param = new ArrayList(); param.Add(uRow.Cells["TRANS_CAR_NO"].Value.ToString());//车辆号 string dlivDirNo = uRow.Cells["DLIV_DIRNO"].Text.ToString().Trim(); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ05.UIJ050010"; ccp.MethodName = "queryTransCoils"; ccp.ServerParams = new Object[] { dlivDirNo }; ccp = this.ExecuteQuery(ccp, CoreInvokeType.Internal); ArrayList coils = (ArrayList)ccp.ReturnObject; param.Add(coils.Count);//钢卷数 double sumWeight = 0; foreach (object obj in coils) { Hashtable ht = (Hashtable)obj; sumWeight += Convert.ToDouble(((Hashtable)ht["ACT_WGT"])["value"].ToString().Trim()); } param.Add(sumWeight / 1000);//钢卷总重量 for (int i = 0; i < 10; i++) { if (i < coils.Count) { Hashtable ht = (Hashtable)coils[i]; param.Add(ht["OLD_SAMPL_NO"].ToString());//卷号 param.Add(ht["SPEC_STL_GRD"].ToString());//牌号 param.Add(ht["ORD_SIZE"].ToString());//订单规格 param.Add(((Hashtable)ht["ACT_WGT"])["value"].ToString().Trim());//重量 param.Add(ht["CUR_LOAD_LOC"].ToString());//堆放位置 } else { param.Add(""); param.Add(""); param.Add(""); param.Add(""); param.Add(""); } } ExcelPrinter ePrinter = new ExcelPrinter("trans1.xml", param); ePrinter.PageSetup.IsCustom = true; ePrinter.Orientation = 1;//横向打印 ePrinter.printExcel(); //2014221打印后更新界面状态 this.DoQuery(); } catch (Exception ex) { MessageBox.Show("打印失败,请关闭程序后重新操作!"); return; } } } } catch (Exception p) { } } private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { } private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { //try //{ // Infragistics.Win.UltraWinGrid.UltraGridBase tmpGrid = this.ultraGrid4; // foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid4.Rows) // { // if (!row.IsFilteredOut) // { // row.Cells["CHK"].Value = this.ultraCheckEditor1.Checked.ToString().ToUpper(); // row.Update(); // } // } //} //catch (System.Exception ex) //{ // System.Diagnostics.Debug.WriteLine(ex.ToString()); //} } private void ultraCheckEditor2_CheckedChanged(object sender, EventArgs e) { //Infragistics.Win.UltraWinGrid.UltraGridBase tmpGrid = this.ultraGrid6; //foreach (Infragistics.Win.UltraWinGrid.UltraGridRow row in this.ultraGrid6.Rows) //{ // if (!row.IsFilteredOut) // { // row.Cells["CHK"].Value = this.ultraCheckEditor2.Checked.ToString().ToUpper(); // row.Update(); // } //} } private void ultraGrid6_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { try { if (e.Cell.Column.Key == "CHK") { e.Cell.Row.Update(); if (e.Cell.Value.ToString().ToUpper() == "TRUE") { string vDLIV_DIRNO = e.Cell.Row.Cells["DLIV_DIRNO"].Text; Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid6.Rows; for (int i = 0; i < rs.Count; i++) { if (rs[i].Cells["DLIV_DIRNO"].Text == vDLIV_DIRNO) { rs[i].Cells["CHK"].Value = true; rs[i].Appearance.ForeColor = System.Drawing.Color.Blue; } else { rs[i].Cells["CHK"].Value = false; rs[i].Appearance.ForeColor = System.Drawing.Color.Black; } } } else { string vDLIV_DIRNO = e.Cell.Row.Cells["DLIV_DIRNO"].Text; Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid6.Rows; for (int i = 0; i < rs.Count; i++) { if (rs[i].Cells["DLIV_DIRNO"].Text == vDLIV_DIRNO) { rs[i].Cells["CHK"].Value = false; rs[i].Appearance.ForeColor = System.Drawing.Color.Black; } } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } private void ultraGrid4_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { if (e.Cell.Column.Key == "CHK") { e.Cell.Row.Update(); if (e.Cell.Value.ToString().ToUpper() == "TRUE") { e.Cell.Row.Appearance.ForeColor = System.Drawing.Color.Blue; } else { e.Cell.Row.Appearance.ForeColor = System.Drawing.Color.Black; } } } private void ultraGrid2_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { try { if (e.Cell.Column.Key == "CHK") { e.Cell.Row.Update(); if (e.Cell.Value.ToString().ToUpper() == "TRUE") { string vDLIV_DIRNO = e.Cell.Row.Cells["DLIV_DIRNO"].Text; Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid2.Rows; for (int i = 0; i < rs.Count; i++) { if (rs[i].Cells["DLIV_DIRNO"].Text == vDLIV_DIRNO) { rs[i].Cells["CHK"].Value = true; rs[i].Appearance.ForeColor = System.Drawing.Color.Blue; } //else //{ // rs[i].Cells["CHK"].Value = false; // rs[i].Appearance.ForeColor = System.Drawing.Color.Black; //} } } else { string vDLIV_DIRNO = e.Cell.Row.Cells["DLIV_DIRNO"].Text; Infragistics.Win.UltraWinGrid.RowsCollection rs = this.ultraGrid2.Rows; for (int i = 0; i < rs.Count; i++) { if (rs[i].Cells["DLIV_DIRNO"].Text == vDLIV_DIRNO) { rs[i].Cells["CHK"].Value = false; rs[i].Appearance.ForeColor = System.Drawing.Color.Black; } } } } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.ToString()); } } private void textBox2_TextChanged(object sender, EventArgs e) { } private string Checkdriv() { Infragistics.Win.UltraWinGrid.RowsCollection rs = null; ArrayList list = new ArrayList(); string dlivno = null; string ord_no = null; string ord_seq = null; string carflag = "1"; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ03.UIJ030020"; switch (this.tabControl1.SelectedIndex) { case 0://火车 return "1"; break; case 1://汽车 label13.Focus(); ultraGrid4.Update(); rs = this.ultraGrid4.Rows; for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { dlivno = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim(); ord_no = rs[i].Cells["ORD_NO"].Value.ToString().Trim(); ord_seq = rs[i].Cells["ORD_SEQ"].Value.ToString().Trim(); ccp.MethodName = "GetCarNo"; ccp.ServerParams = new Object[] { dlivno, ord_no, ord_seq }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnObject != null) { list = (ArrayList)ccp.ReturnObject; Hashtable ht = (Hashtable)list[0]; // ht["VALUE"].ToString(); if (ht["RET_CODE"].ToString() == "0") { carflag = "0"; return carflag; } } } } return carflag; break; default: return carflag; } } private void GetCarNo() { Infragistics.Win.UltraWinGrid.RowsCollection rs = null; ArrayList list = new ArrayList(); string dlivno = null; string ord_no = null; string ord_seq = null; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "UIJ.UIJ03.UIJ030020"; switch (this.tabControl1.SelectedIndex) { case 0://火车 break; case 1://汽车 label13.Focus(); ultraGrid4.Update(); rs = this.ultraGrid4.Rows; for (int i = 0; i < rs.Count; i++) { if ("TRUE".Equals(rs[i].Cells["CHK"].Text.ToUpperInvariant())) { dlivno = rs[i].Cells["DLIV_DIRNO"].Value.ToString().Trim(); ord_no = rs[i].Cells["ORD_NO"].Value.ToString().Trim(); ord_seq = rs[i].Cells["ORD_SEQ"].Value.ToString().Trim(); ccp.MethodName = "GetCarNo"; ccp.ServerParams = new Object[] { dlivno, ord_no, ord_seq }; this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnObject != null) { //list = (ArrayList)ccp.ReturnObject; //Hashtable ht = (Hashtable)list[0]; Hashtable ht = (Hashtable)ccp.ReturnObject; //if (ht.Contains("RET_CODE") && ht.Contains("PLAT_NO")) //{ // if (ht["RET_CODE"].ToString() == "0") // { // rs[i].Cells["TRANS_CAR_NO"].Value = ht["PLAT_NO"].ToString(); // } //} if (ht.Contains("PLAT_NO")) { rs[i].Cells["TRANS_CAR_NO"].Value = ht["PLAT_NO"].ToString(); } } /* String ret = ccp.ReturnObject.ToString(); string[] sArray = ret.Split(new string[] { "RET_CODE"}, StringSplitOptions.RemoveEmptyEntries); String flagcc = sArray[1].Substring(3, 1); if (flagcc == "1") { sArray = sArray[1].Split(new string[] { "PLAT_NO" }, StringSplitOptions.RemoveEmptyEntries); String carno = sArray[1].Substring(3, 7); rs[i].Cells["TRANS_CAR_NO"].Value = carno; } */ } } break; default: return; } } private void button1_Click(object sender, EventArgs e) { this.GetCarNo(); } } }