using Core.Mes.Client.Comm.Control; using Core.StlMes.Client.Judge.Commons; using CoreFS.CA06; using Infragistics.Win.UltraWinGrid; using System; using System.Collections.Generic; using System.Data; using System.Windows.Forms; namespace Core.StlMes.Client.Judge.Controls { public partial class QcmGpJudgeApplyDtlCtrl : UserControl { private Dal _d; private OpeBase ob; public QcmGpJudgeApplyDtlCtrl(Control container, OpeBase ob) { InitializeComponent(); _d = new Dal(ob); this.ob = ob; container.Controls.Add(this); this.Dock = DockStyle.Fill; this.BringToFront(); } public void Query(string judgeApplyCode, string judgeApplySeq, string judgeStoveNo) { DataTable dt = _d.GetTableByXmlId("QcmGpJugdeApplyDAL.querDtlByJudgeStoveNoApplyNo", judgeApplyCode, judgeApplySeq, judgeStoveNo); ultraGrid1.BeginUpdate(); GridHelper.CopyDataToDatatable(dt, dataTable1, true); BindCraftNo(); GridHelper.RefreshAndAutoSize(ultraGrid1); ultraGrid1.EndUpdate(); } private void BindCraftNo() { for (int i = dataTable1.Columns.Count - 1; i >= 0; i--) { if (dataTable1.Columns[i].ColumnName.Contains("craft") || dataTable1.Columns[i].ColumnName.Contains("orderNo")) { dataTable1.Columns.RemoveAt(i); } } foreach (DataRow drStl in dataTable1.Rows) { string[] zgProPlanIds; zgProPlanIds = GetGpJudgeApplyZgPlanId(drStl); DataTable dtCraftNo = _d.GetTableByXmlId("JdgPlnOrderZgS.queryCraftNoByZgProPlanId", new object[] { zgProPlanIds }); for (int i = 0; i < dtCraftNo.Rows.Count; i++) { if (dataTable1.Columns.Contains("craftNo" + i.ToString())) continue; dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftNo" + i.ToString(), Caption = "工艺文件" }); dataTable1.Columns.Add(new DataColumn() { ColumnName = "craftPath" + i.ToString(), Caption = "工艺文件路径" }); } DataTable dtOrderNo = _d.GetTableByXmlId("JdgPlnOrderZgS.queryOrderNoByZgProPlanId", new object[] { zgProPlanIds }); for (int i = 0; i < dtOrderNo.Rows.Count; i++) { if (dataTable1.Columns.Contains("orderNo" + i.ToString())) continue; dataTable1.Columns.Add(new DataColumn() { ColumnName = "orderNo" + i.ToString(), Caption = "合同号" }); } for (int i = 0; i < dtCraftNo.Rows.Count; i++) { drStl["craftNo" + i.ToString()] = dtCraftNo.Rows[i]["craftNo"].ToString(); drStl["craftPath" + i.ToString()] = dtCraftNo.Rows[i]["craftPath"].ToString(); } for (int i = 0; i < dtOrderNo.Rows.Count; i++) { drStl["orderNo" + i.ToString()] = dtOrderNo.Rows[i]["orderNo"].ToString(); } } foreach (var col in ultraGrid1.DisplayLayout.Bands[0].Columns) { if (col.Key.Contains("craftPath")) { col.Hidden = true; } else if (col.Key.Contains("craftNo")) { col.EditorComponent = ultraTextEditor1; col.ButtonDisplayStyle = ButtonDisplayStyle.Always; } } } private string[] GetGpJudgeApplyZgPlanId(DataRow gpJudgeApply) { List zgProPlanIds = new List(); string proPlanIdNext = gpJudgeApply["proPlanIdNext"].ToString(); string gxPlanNoNext = gpJudgeApply["gxPlanNoNext"].ToString(); string proPlanId = gpJudgeApply["proPlanId"].ToString(); if (proPlanIdNext != "" && proPlanIdNext.StartsWith("ZG")) { zgProPlanIds.Add(proPlanIdNext + gxPlanNoNext); } else { string zzProPlanId = ""; if (proPlanIdNext != "") { zzProPlanId = proPlanIdNext; } else { zzProPlanId = proPlanId; } DataTable dtZgProPlanIds = _d.GetTableByXmlId("JdgPlnOrderZgS.queryByGpreqId", zzProPlanId); foreach (DataRow drZgProPlanId in dtZgProPlanIds.Rows) { zgProPlanIds.Add(drZgProPlanId["proPlanId"].ToString()); } } return zgProPlanIds.ToArray(); } public void Clear() { this.dataTable1.Clear(); } FormFileDown askDown; private void ultraTextEditor1_EditorButtonClick(object sender, Infragistics.Win.UltraWinEditors.EditorButtonEventArgs e) { string filePath = ultraGrid1.ActiveRow.GetValue(ultraGrid1.ActiveCell.Column.Key.Replace("craftNo", "craftPath")); askDown = new FormFileDown(ob, filePath); askDown.DeleteButton.Visible = false; askDown.Show(); } } }