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 System.Collections; using Core.Mes.Client.Comm.Tool; using Core.Mes.Client.Comm.Server; using Core.Mes.Client.Comm.Control; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; using Infragistics.Win; namespace Core.StlMes.Client.ZGMil.Signature { public partial class FrmMilCraftworkBase : FrmBase { UltraCombo uceTable = new UltraCombo();//表名 UltraCombo uceColName = new UltraCombo();//字段名 UltraComboEditor station = new UltraComboEditor(); public FrmMilCraftworkBase() { InitializeComponent(); } private void FrmMilCraftworkBase_Load(object sender, EventArgs e) { //表名 DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTbleName", null, ob); if (dt != null && dt.Rows.Count > 0) { uceTable.DataSource = dt; uceTable.ValueMember = "TABLE_NAME"; //TubeRoll.SetComboItemHeight(cmbTableColm); uceTable.DisplayLayout.Bands[0].Columns[0].Header.Caption = "英文名"; uceTable.DisplayLayout.Bands[0].Columns[1].Header.Caption = "中文名"; } //TubeRoll.InitCombo(uceTable, "com.steering.mes.signature.FrmMilCraftworkBase.queryTbleName", "TABLE_NAME", this.ob, false); TubeRoll.BindColumnComb(uceTable, "TABLE_NAME", this.Controls, this.ultraGrid1, 0); TubeRoll.InitComboEditor(station, "com.steering.mes.signature.FrmTubTechnological.doQueryStation", "STATION_CODE", this.ob, false); TubeRoll.BindColumn(station, "STATION_CODE", this.Controls, this.ultraGrid1, 0); } private void TableColName(string Table,UltraGridRow urg) { uceColName = new UltraCombo();//字段名 DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTableColumnName", new Object[] { Table }, ob); if (dt != null && dt.Rows.Count > 0) { uceColName.DataSource = dt; uceColName.ValueMember = "COLUMN_NAME"; //TubeRoll.SetComboItemHeight(cmbTableColm); uceColName.DisplayLayout.Bands[0].Columns[0].Header.Caption = "英文名"; uceColName.DisplayLayout.Bands[0].Columns[1].Header.Caption = "中文名"; uceColName.DisplayLayout.Bands[0].Columns[2].Header.Caption = "类型"; } TubeRoll.BindRow1(uceColName, "COLUMN_KEY", this.Controls, urg, 0); } /// /// 重写基类方法 /// /// /// public override void ToolBar_Click(object sender, string ToolbarKey) { switch (ToolbarKey) { case "Query": DoQuery(); break; case "Add": DoAdd(); break; case "Invalid": DoInvalid(); break; case "Delete": DoDelete(); break; case "Update": DoUpdare(); break; case "Close": this.Close(); break; } } private void DoQuery() { string strGY = ""; if (ChkFactor.Checked) { if (TxtFactor.Text.Trim() == "") { MessageUtil.ShowTips("工艺名称不能为空!"); return; } else { strGY = TxtFactor.Text.Trim(); } } string strval = "1"; if (chkVal.Checked) { strval = "0"; } DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafBase", new Object[] { strGY, strval }, ob); GridHelper.CopyDataToDatatable(dt, this.dataTable1, true); foreach (UltraGridRow ugr in ultraGrid1.Rows) { if (ugr.Cells["VALIDFLAG"].Text.Trim().Equals("否")) { ugr.Cells["FACTOR_NAME"].Appearance.BackColor = Color.Transparent; ugr.Cells["FACTOR_NAME"].Appearance.BackHatchStyle = BackHatchStyle.Default; ugr.Cells["FACTOR_NAME"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ugr.Cells["TABLE_NAME"].Appearance.BackColor = Color.Transparent; ugr.Cells["TABLE_NAME"].Appearance.BackHatchStyle = BackHatchStyle.Default; ugr.Cells["TABLE_NAME"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ugr.Cells["COLUMN_KEY"].Appearance.BackColor = Color.Transparent; ugr.Cells["COLUMN_KEY"].Appearance.BackHatchStyle = BackHatchStyle.Default; ugr.Cells["COLUMN_KEY"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ugr.Cells["STATION_CODE"].Appearance.BackColor = Color.Transparent; ugr.Cells["STATION_CODE"].Appearance.BackHatchStyle = BackHatchStyle.Default; ugr.Cells["STATION_CODE"].Activation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly; ugr.Appearance.BackColor = Color.Red; ugr.Appearance.BackHatchStyle = BackHatchStyle.None; } TableColName(ugr.Cells["TABLE_NAME"].Text.Trim(), ugr); } } private void DoAdd() { ultraGrid1.UpdateData(); ArrayList list1 = new ArrayList(); //int count = 0; string time=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (uGrid.Count() == 0) { MessageUtil.ShowTips("请选择要保存的数据!"); return; } foreach (UltraGridRow ugr in uGrid) { //if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) //{ // count += 1; if (ugr.Cells["FACTOR_NAME"].Text.Trim() == "") { MessageUtil.ShowTips("工艺名不能为空!"); return; } if (ugr.Cells["TABLE_NAME"].Text.Trim() == "") { MessageUtil.ShowTips("表名不能为空!"); return; } if (ugr.Cells["COLUMN_KEY"].Text.Trim() == "") { MessageUtil.ShowTips("字段名不能为空!"); return; } if (ugr.Cells["STATION_CODE"].Text.Trim() == "") { MessageUtil.ShowTips("工序不能为空!"); return; } if (ugr.Cells["FACTOR_ID"].Value.ToString() != "") { MessageUtil.ShowTips("已存在数据,不能进行此操作!"); return; } int leng = System.Text.Encoding.Default.GetBytes(ugr.Cells["FACTOR_NAME"].Text.Trim().ToCharArray()).Length; if (leng > 20) { MessageUtil.ShowTips("工艺名,字节实际长度20,输入长度" + leng + ",/,请重新输入!"); return; } ArrayList list = new ArrayList(); list.Add(ugr.Cells["FACTOR_NAME"].Text.Trim()); list.Add(ugr.Cells["TABLE_NAME"].Text.Trim()); list.Add(ugr.Cells["COLUMN_KEY"].Text.Trim()); list.Add(ugr.Cells["COLUMN_TYPE"].Text.Trim()); list.Add(this.UserInfo.GetUserName()); list.Add(time); list.Add(ugr.Cells["STATION_CODE"].Value.ToString()); list1.Add(list); //} } //if (count == 0) //{ // MessageUtil.ShowTips("请选择要保存的数据!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否新增?") == System.Windows.Forms.DialogResult.No) return; CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.mes.signature.FrmMilCraftworkBase"; ccp.MethodName = "addCrafBase"; ccp.ServerParams = new object[] { list1 }; ccp = this.ExecuteNonQuery(ccp, CoreInvokeType.Internal); if (ccp.ReturnCode != -1) { MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("新增成功!")) { DoQuery(); } } } private void DoDelete() { ArrayList list1 = new ArrayList(); ultraGrid1.UpdateData(); //int count = 0; IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (uGrid.Count() == 0) { MessageUtil.ShowTips("请选择要删除的数据!"); return; } foreach (UltraGridRow ugr in uGrid) { //if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) //{ // count += 1; if (ugr.Cells["FACTOR_ID"].Text.Trim() == "") { MessageUtil.ShowTips("数据不存在,不能进行此操作!"); return; } DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafSet", new Object[] { ugr.Cells["FACTOR_ID"].Text.Trim() }, ob); if (dt.Rows.Count > 0) { MessageUtil.ShowTips("该记录已引用,不能进行此操作!"); return; } ArrayList list = new ArrayList(); list.Add(ugr.Cells["FACTOR_ID"].Text.Trim()); list1.Add(list); //} } //if (count == 0) //{ // MessageUtil.ShowTips("请选择要删除的数据!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否删除?") == System.Windows.Forms.DialogResult.No) return; int countdelete = ServerHelper.SetData("com.steering.mes.signature.FrmMilCraftworkBase.deleteCrafBase", new Object[] { list1 }, this.ob); if (countdelete > 0) { MessageUtil.ShowTips("删除成功!"); } else { MessageUtil.ShowTips("删除失败!"); return; } DoQuery(); } private void DoUpdare() { ultraGrid1.UpdateData(); ArrayList list1 = new ArrayList(); //int count = 0; string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (uGrid.Count() == 0) { MessageUtil.ShowTips("请选择要修改的数据!"); return; } foreach (UltraGridRow ugr in uGrid) { //if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) //{ // count += 1; if (ugr.Cells["FACTOR_ID"].Value.ToString() == "") { MessageUtil.ShowTips("数据不存在,不能进行此操作!"); return; } if (ugr.Cells["VALIDFLAG"].Text.Trim().Equals("否")) { MessageUtil.ShowTips("该记录已作废,不能进行此操作!"); return; } DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafSet", new Object[] { ugr.Cells["FACTOR_ID"].Text.Trim() }, ob); if (dt.Rows.Count > 0) { MessageUtil.ShowTips("该记录已引用,不能进行此操作!"); return; } int leng = System.Text.Encoding.Default.GetBytes(ugr.Cells["FACTOR_NAME"].Text.Trim().ToCharArray()).Length; if (leng > 20) { MessageUtil.ShowTips("工艺名,字节实际长度20,输入长度" + leng + ",工艺名太长,请重新输入!"); return; } ArrayList list = new ArrayList(); list.Add(ugr.Cells["FACTOR_NAME"].Text.Trim()); list.Add(ugr.Cells["TABLE_NAME"].Text.Trim()); list.Add(ugr.Cells["COLUMN_KEY"].Text.Trim()); list.Add(ugr.Cells["COLUMN_TYPE"].Text.Trim()); list.Add(this.UserInfo.GetUserName()); list.Add(time); list.Add(ugr.Cells["STATION_CODE"].Value.ToString()); list.Add(ugr.Cells["FACTOR_ID"].Text.Trim()); list1.Add(list); //} } //if (count == 0) //{ // MessageUtil.ShowTips("请选择要修改的数据!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否修改?") == System.Windows.Forms.DialogResult.No) return; int countupdate = ServerHelper.SetData("com.steering.mes.signature.FrmMilCraftworkBase.updateCrafBase", new Object[] { list1 }, this.ob); if (countupdate > 0) { MessageUtil.ShowTips("修改成功!"); } else { MessageUtil.ShowTips("修改失败!"); return; } DoQuery(); } /// /// 作废 /// private void DoInvalid() { ArrayList list1 = new ArrayList(); ultraGrid1.UpdateData(); //int count = 0; string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); IQueryable uGrid = ultraGrid1.Rows.AsQueryable().Where(" CHK = 'True'"); if (uGrid.Count() == 0) { MessageUtil.ShowTips("请选择要作废的数据!"); return; } foreach (UltraGridRow ugr in uGrid) { //if (Convert.ToBoolean(ugr.Cells["CHK"].Text) == true) //{ // count += 1; if (ugr.Cells["FACTOR_ID"].Text.Trim() == "") { MessageUtil.ShowTips("数据不存在,不能进行此操作!"); return; } if (ugr.Cells["VALIDFLAG"].Text.Trim().Equals("否")) { MessageUtil.ShowTips("该记录已作废,不能进行此操作!"); return; } DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryCrafSet", new Object[] { ugr.Cells["FACTOR_ID"].Text.Trim() }, ob); if (dt.Rows.Count > 0) { MessageUtil.ShowTips("该记录已引用,不能进行此操作!"); return; } ArrayList list = new ArrayList(); list.Add(ugr.Cells["FACTOR_ID"].Text.Trim()); list1.Add(list); //} } //if (count == 0) //{ // MessageUtil.ShowTips("请选择要作废的数据!"); // return; //} if (MessageUtil.ShowYesNoAndQuestion("是否作废?") == System.Windows.Forms.DialogResult.No) return; int countupdate = ServerHelper.SetData("com.steering.mes.signature.FrmMilCraftworkBase.updateValCrafBase", new Object[] { list1 }, this.ob); if (countupdate > 0) { MessageUtil.ShowTips("作废成功!"); } else { MessageUtil.ShowTips("作废失败!"); return; } DoQuery(); } /// /// Gird改变事件 /// /// /// private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { UltraGridRow ugr = this.ultraGrid1.ActiveRow; //if (ugr.Cells["TABLE_NAME"].Text.Trim().Equals("")) //{ if (e.Cell.Column.Key.Equals("TABLE_NAME")) { TableColName(e.Cell.Row.Cells["TABLE_NAME"].Text.Trim(), ugr); } if (e.Cell.Column.Key.Equals("COLUMN_KEY")) { //字段类型 DataTable dt = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTableDataType", new Object[] { e.Cell.Row.Cells["TABLE_NAME"].Text.Trim(), e.Cell.Row.Cells["COLUMN_KEY"].Text.Trim() }, ob); if (dt.Rows.Count <= 0) return; e.Cell.Row.Cells["COLUMN_TYPE"].Value = dt.Rows[0]["DATA_TYPE"].ToString(); //字段备注 DataTable dt1 = ServerHelper.GetData("com.steering.mes.signature.FrmMilCraftworkBase.queryTableColumecomments", new Object[] { e.Cell.Row.Cells["TABLE_NAME"].Text.Trim(), e.Cell.Row.Cells["COLUMN_KEY"].Text.Trim() }, ob); //if (e.Cell.Row.Cells["FACTOR_NAME"].Text.Trim() == "") //{ e.Cell.Row.Cells["FACTOR_NAME"].Value = dt1.Rows[0]["COMMENTS"].ToString(); //} } //} } private void ChkFactor_CheckedChanged(object sender, EventArgs e) { if (ChkFactor.Checked) { TxtFactor.Enabled = true; } else { TxtFactor.Enabled = false; } } private void ultraGrid1_AfterSelectChange(object sender, AfterSelectChangeEventArgs e) { try { ultraGrid1.UpdateData(); foreach (UltraGridRow r in ultraGrid1.Rows) { r.Cells["CHK"].Value = r.Selected; } } catch { } } } }