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 Core.StlMes.Client.PlnSaleOrd.炼钢计划; using Core.StlMes.Client.PlnSaleOrd.炉计划.Entity; using Core.StlMes.Client.PlnSaleOrd.炉计划.Tool; using CoreFS.CA06; using Infragistics.Win; using Infragistics.Win.UltraWinEditors; using Infragistics.Win.UltraWinGrid; 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; namespace Core.StlMes.Client.PlnSaleOrd.炉计划 { public partial class FrmPlanSteelMakMod : FrmBase { private string cic=""; private string cicyL=""; private string desginKey=""; private string indexSeq=""; private string outMaterialNo=""; private string plineCode=""; private string inMaterialNo=""; public DataRow CurrentChem { get; private set; } private bool flag = false; private string[] belongCodeAll = null; public bool Flag { get { return flag; } set { flag = value; } } public FrmPlanSteelMakMod() { InitializeComponent(); this.IsLoadUserView = true; } private void FrmPlanMaterialSelection_Load(object sender, EventArgs e) { //设置列头名称 EntityHelper.ShowGridCaption(ultraGridChoose.DisplayLayout.Bands[0]); BaseHelper.setOtherColumnReadOnly(ultraGridChoose, new string[] { "CHC", "TakeCount" }); BaseHelper.InitCellPosition(ultraGridChoose, new string[] { "Sequenceno", "DbActCount", "GroudNo", "ActTheoryWeight", "ActWeight", "ActCount", "FixLen", "FixNum", "ActLen", "Height", "Dimater", "TakeCount", "TakeWeight" }); BaseHelper.GridColumnSum(ultraGridChoose, new string[] { "ActWeight", "ActTheoryWeight" }); BaseHelper.GridColumnCount(ultraGridChoose, new string[] { "ActCount", "DbActCount" }); BaseHelper.setUltraGridColumnMaxInput(ultraGridChoose, new string[] { "ActTheoryWeight", "ActWeight", "TakeWeight" }); BaseHelper.setUltraGridColumnBits(ultraGridChoose, new string[] { "ActCount", "DbActCount", "FixNum", "TakeCount" }); BaseHelper.setColumnBackColor(ultraGridChoose, new string[] { "TakeCount" }); SteelHelper.InitGrade(comGrade, this.ob); BaseHelper.ForbidSort(ultraGridChoose); belongCodeAll=StoveHelper.InitPermissions(this.ValidDataPurviewIds, ob); QueryBelong(); } public void QueryBelong() { DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.StoveHelper.getSalgPermissions", new object[] { this.ValidDataPurviewIds }, ob); txtbelong.DropDownListWidth = -1; txtbelong.DataSource = dt; txtbelong.DisplayMember = "DEPARTNAME"; txtbelong.ValueMember = "DEPARTID"; StoveHelper.SetComboItemHeight(txtbelong); } public override void ToolBar_Click(object sender, string ToolbarKey) { base.ToolBar_Click(sender, ToolbarKey); switch (ToolbarKey) { case "Query": Query(); break; case "Liku": //利库 Liku(); break; case "UndoLiku": //撤销利库 Liku(); break; case "Monomer": // 脱单 Monomer(); break; case "ChangeFurnNo": // 自动变炉号 ChangeFurnNo(); break; case "UndoFurnNo": // 撤销变炉号 UndoFurnNo(); break; case "Close": this.Close(); break; default: break; } } /// /// 查询 /// private void Query() { string belongCode = ""; string gradeCode = ""; string judgeNo = ""; if (Chcbelong.Checked) { if (txtbelong.Text.ToString().Trim().Equals("")) { MessageUtil.ShowTips("请选择所属单位!"); return; } else { belongCode = txtbelong.Value.ToString(); } } if (chcGrade.Checked) { if (comGrade.Text.ToString().Trim().Equals("")) { MessageUtil.ShowTips("请选择钢种!"); return; } else { gradeCode = comGrade.Value.ToString(); } } if (chcJudgeNo.Checked) { if (txtJudgeNo.Text.ToString().Trim().Equals("")) { MessageUtil.ShowTips("请输入判定炉号!"); return; } else { judgeNo = txtJudgeNo.Text.ToString(); } } bool flag = false; if (ultraMore.Checked) { flag = true; } List listSourceM = EntityHelper.GetData ("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.queryMaterial", new object[] { belongCode, gradeCode, judgeNo, belongCodeAll, flag }, ob); matGpMEntityBindingSource.DataSource = listSourceM; GridHelper.RefreshAndAutoSize(ultraGridChoose); } /// /// 利库 /// private void Liku() { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; int count = 0; bool flagdz = false; if (ultraMore.Checked) { flagdz = true; } ArrayList list = new ArrayList(); list.Add(row.Cells["JudgeStoveNo"].Text.ToString()); list.Add(row.Cells["TakeCount"].Value.ToString()); list.Add(row.Cells["TakeWeight"].Value.ToString()); list.Add(row.Cells["ActLen"].Value.ToString()); list.Add(row.Cells["FixLen"].Value.ToString()); list.Add(row.Cells["FixNum"].Value.ToString()); list.Add(row.Cells["Gradecode"].Text.ToString()); list.Add(row.Cells["Dimater"].Text.ToString()); list.Add(row.Cells["Gptype"].Text.ToString()); list.Add(row.Cells["ProPlanId"].Text.ToString()); if (row.Cells["TakeWeight"].Value.ToString().Equals("0")) { MessageUtil.ShowTips("您选择的判定炉号利库量为零,不能利库!"); return; } if (!row.Cells["ProPlanIdZg"].Value.ToString().Equals("")) { MessageUtil.ShowTips("您选择的判定炉号已挂轧管订单或锻造订单,不能利库!"); return; } FrmSteelPlnZgMod frmStPlnZ = new FrmSteelPlnZgMod(ob, list, flagdz); frmStPlnZ.ShowDialog(); bool flag = frmStPlnZ.Flag; if (flag) { Query(); }//如果有修改数据,则刷新页面 } } /// /// 脱单 /// private void Monomer() { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; ArrayList list = new ArrayList(); if (!row.Cells["Dimater"].Text.ToString().Contains("t")) { if (row.Cells["MatStatus"].Text.ToString().Equals("材料产出(已判定)") && !row.Cells["JudgeResultCode"].Text.ToString().Equals("不合格")) { MessageUtil.ShowTips("你选择的管坯物料已判并且综合判定结果不是不合格状态,不能脱单!"); return; } if (row.Cells["MatStatus"].Text.ToString().Equals("材料产出待判") && row.Cells["ProPlanIdZg"].Text.ToString().Equals("")) { MessageUtil.ShowTips("你选择的管坯物料未挂轧管订单或锻造订单,不能脱单!"); return; } } else { if (row.Cells["ProPlanIdZg"].Text.ToString().Equals("")) { MessageUtil.ShowTips("你选择的管坯物料未挂轧管订单或锻造订单,不能脱单!"); return; } } if (row.Cells["TakeWeight"].Value.ToString().Equals("0")) { MessageUtil.ShowTips("您选择的判定炉号利库量为零,不能脱单!"); return; } list.Add(row.Cells["ActLen"].Value.ToString()); list.Add(row.Cells["FixLen"].Value.ToString()); list.Add(row.Cells["FixNum"].Value.ToString()); list.Add(row.Cells["JudgeStoveNo"].Text.ToString()); list.Add(row.Cells["StoveNo"].Text.ToString()); list.Add(row.Cells["FlagStoveNo"].Text.ToString()); list.Add(row.Cells["ActCount"].Text.ToString()); list.Add(row.Cells["ProPlanIdZg"].Text.ToString()); list.Add(row.Cells["Dimater"].Text.ToString()); list.Add(row.Cells["GxPlanNoZg"].Text.ToString()); if (MessageUtil.ShowYesNoAndQuestion("是否确认脱单?") == DialogResult.No) return; PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod"; ccp.MethodName = "doDeleteMonomerLg"; ccp.ServerParams = new object[] { list, this.UserInfo.GetUserName()}; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("脱单成功!")) { Query(); } } /// /// 自动变炉号 /// private void ChangeFurnNo() { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; IQueryable checkRows = this.ultraGridChoose.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("请选择管坯物料信息!"); return; } ArrayList list1 = new ArrayList(); foreach (UltraGridRow urg in checkRows) { ArrayList list = new ArrayList(); list.Add(urg.Cells["JudgeStoveNo"].Text.ToString()); list.Add(urg.Cells["TakeCount"].Value.ToString()); list.Add(urg.Cells["ActLen"].Value.ToString()); list.Add(urg.Cells["FixLen"].Value.ToString()); list.Add(urg.Cells["FixNum"].Value.ToString()); list.Add(urg.Cells["Gptype"].Text.ToString()); list.Add(urg.Cells["ProPlanIdZg"].Text.ToString()); list.Add(urg.Cells["GxPlanNoZg"].Text.ToString()); list1.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否确认自动换炉号?") == DialogResult.No) return; PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod"; ccp.MethodName = "doChangeFurnNo"; ccp.ServerParams = new object[] { list1}; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("成功!")) { Query(); } } /// /// 撤销变炉号 /// private void UndoFurnNo() { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; IQueryable checkRows = this.ultraGridChoose.Rows.AsQueryable().Where(" CHC = 'True' "); if (checkRows.Count() == 0) { MessageUtil.ShowTips("请选择管坯物料信息!"); return; } ArrayList list1 = new ArrayList(); foreach (UltraGridRow urg in checkRows) { if (urg.Cells["JudgeFlag"].Text.ToString().Equals("/")) { MessageUtil.ShowTips("判定炉号(" + urg.Cells["JudgeStoveNo"].Text + ")未变炉号,不能进行此操作!"); return; } ArrayList list = new ArrayList(); list.Add(urg.Cells["JudgeStoveNo"].Text.ToString()); list.Add(urg.Cells["TakeCount"].Value.ToString()); list.Add(urg.Cells["ActLen"].Value.ToString()); list.Add(urg.Cells["FixLen"].Value.ToString()); list.Add(urg.Cells["FixNum"].Value.ToString()); list.Add(urg.Cells["Gptype"].Text.ToString()); list.Add(urg.Cells["ProPlanIdZg"].Text.ToString()); list.Add(urg.Cells["JudgeFlag"].Text.ToString()); list.Add(urg.Cells["JudgeStoveNoOld"].Text.ToString()); list1.Add(list); } if (MessageUtil.ShowYesNoAndQuestion("是否取消?") == DialogResult.No) return; PlanComm.WaitFromOpen(this.Cursor); CoreClientParam ccp = new CoreClientParam(); ccp.ServerName = "com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod"; ccp.MethodName = "doUndoFurnNo"; ccp.ServerParams = new object[] { list1 }; ccp = ob.ExecuteNonQuery(ccp, CoreInvokeType.Internal); PlanComm.WaitFromColse(this.Cursor); if (ccp.ReturnCode == -1) return; MessageUtil.ShowTips(ccp.ReturnInfo); if (ccp.ReturnInfo.Equals("成功!")) { Query(); } } private void ultraGridChoose_AfterRowActivate(object sender, EventArgs e) { UltraGridRow row = ultraGridChoose.ActiveRow; if (row == null) return; QueryZgS(row.Cells["ProPlanIdZg"].Value.ToString(), row.Cells["GxPlanNoZg"].Value.ToString(), row.Cells["ProPlanId"].Value.ToString()); QueryChenName(row.Cells["JudgeStoveNo"].Text.ToString(), row.Cells["ChemJudgeId"].Text.ToString()); } private void QueryZgS(string _proPlanId, string _gxPlanNo,string gproId) { DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.getPlnOrderZg", new object[] { _proPlanId, _gxPlanNo }, ob); if (dt.Rows.Count > 0) { if (dt.Rows[0]["CIC_GROUP_LK"].ToString().Contains(dt.Rows[0]["CIC_GP"].ToString())) { cic = dt.Rows[0]["CIC_GROUP_LK"].ToString(); } else { if (dt.Rows[0]["CIC_GROUP_LK"].ToString().Equals("")) { cic = dt.Rows[0]["CIC_GP"].ToString(); } else { cic = dt.Rows[0]["CIC_GP"].ToString() + "," + dt.Rows[0]["CIC_GROUP_LK"].ToString(); } } cicyL = dt.Rows[0]["CIC_GP"].ToString(); desginKey = dt.Rows[0]["DESGIN_KEY"].ToString(); indexSeq = dt.Rows[0]["INDEX_SEQ"].ToString(); outMaterialNo = dt.Rows[0]["OUTWL_ID"].ToString(); inMaterialNo = dt.Rows[0]["INWL_ID"].ToString(); plineCode = dt.Rows[0]["PLINE_CODE"].ToString(); } } private int countMes = 0; /// /// 查询索引码 /// private void QueryChenName(string cudgeStoveNo, string chemJudgeId) { DataTable InternalStandard = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.getStlChemicalStd", new object[] { cic, desginKey, indexSeq },ob); dtChem.Rows.Clear(); countMes = 0; foreach (var colums in ulgridElement.DisplayLayout.Bands[0].Columns) { colums.Hidden = true; } ulgridElement.DisplayLayout.Bands[0].Columns["SAMPLE_NO"].Hidden = false; ulgridElement.DisplayLayout.Bands[0].Columns["CIC"].Hidden = false; if (InternalStandard != null) { foreach (DataRow dataRow in InternalStandard.Rows) { string chemsKey = dataRow["CHEM_NAME"].ToString().Replace(" ", "").Replace("/", ""); if (!dtChem.Columns.Contains(chemsKey.ToUpper()) && !string.IsNullOrEmpty(chemsKey)) { DataColumn newDc = new DataColumn { ColumnName = chemsKey.ToUpper(), Caption = chemsKey }; dtChem.Columns.Add(newDc); } ulgridElement.DisplayLayout.Bands[0].Columns[chemsKey.ToUpper()].Hidden = false; } } DataTable distinct_object = InternalStandard.DefaultView.ToTable(true, "CIC"); if (distinct_object.Rows.Count <= 0) { return; } for (int i = 0; i < distinct_object.Rows.Count; i++) { DataRow drMax = dtChem.NewRow(); DataRow drMin = dtChem.NewRow(); DataRow drCic = dtChem.NewRow(); string cicChem = distinct_object.Rows[i]["CIC"].ToString(); DataRow[] drs = InternalStandard.Select("CIC='" + cicChem + "'"); if (cicyL.Equals(drs[0][8])) { drMax["SAMPLE_NO"] = "冶炼CIC上限"; drMin["SAMPLE_NO"] = "冶炼CIC下限"; } else { drMax["SAMPLE_NO"] = "利库CIC上限"; drMin["SAMPLE_NO"] = "利库CIC下限"; } drMax["CIC"] = drs[0][8]; drMin["CIC"] = drs[0][8]; if (InternalStandard != null) { foreach (DataRow dataRow in InternalStandard.Rows) { string columnsName = dataRow["CHEM_NAME"].ToString().ToUpper().Replace(" ", "").Replace("/", ""); drMax[columnsName] = dataRow["STDMAX_SIGN"];//+ dataRow["STDMAX"].ToString() drMin[columnsName] = dataRow["STDMIN_SIGN"];//+ dataRow["STDMIN"].ToString() ulgridElement.DisplayLayout.Bands[0].Columns[columnsName].Tag = dataRow["CHEM_FORMULA"]; } } dtChem.Rows.Add(drMax); dtChem.Rows.Add(drMin); countMes += 2; } DataTable dtData = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmRollTubeLibraryZg.getStlChemicalData", new object[] { cudgeStoveNo, chemJudgeId }, ob); if (dtData != null && dtData.Rows.Count > 0) { CurrentChem = dtData.Rows[0]; foreach (DataRow dataRow in dtData.Rows) { foreach (DataColumn dc in dtData.Columns) { string columnsName = dc.ColumnName; if (columnsName.Equals("SAMPLE_NO")) continue; if (!dtChem.Columns.Contains(columnsName.ToUpper().Replace("ASN", "AS")) && dataRow[columnsName] != null && !string.IsNullOrEmpty((dataRow[columnsName].ToString()))) { DataColumn newDc = new DataColumn(); newDc.ColumnName = columnsName.ToUpper(); newDc.Caption = columnsName; dtChem.Columns.Add(newDc); } } DataRow tempRow = dtChem.NewRow(); //tempRow["CICLK"] = dataRow["STOVE_NO"]; foreach (DataColumn DataColumn in dtData.Columns) { if (dtChem.Columns.Contains(DataColumn.ColumnName.Replace("ASN", "AS"))) { tempRow[DataColumn.ColumnName.Replace("ASN", "AS")] = dataRow[DataColumn.ColumnName]; if (dataRow[DataColumn.ColumnName] != null && !string.IsNullOrEmpty(dataRow[DataColumn.ColumnName].ToString())) { ulgridElement.DisplayLayout.Bands[0].Columns[DataColumn.ColumnName.Replace("ASN", "AS")] .Hidden = false; ulgridElement.DisplayLayout.Bands[0].Columns["ASSAYNO"].Hidden = true; ulgridElement.DisplayLayout.Bands[0].Columns["STOVE_NO"].Hidden = true; } } } foreach (UltraGridColumn column in ulgridElement.DisplayLayout.Bands[0].Columns) { if (column.Hidden || column.Tag == null || string.IsNullOrEmpty(column.Tag.ToString())) continue; string ChemFormula = column.Tag.ToString().ToUpper(); foreach (DataColumn DataColumn in dtData.Columns) { if (dataRow[DataColumn.ColumnName] == null) continue; ChemFormula = ChemFormula.Replace(DataColumn.ColumnName.Replace("ASN", "AS"), dataRow[DataColumn.ColumnName].ToString()); } try { tempRow[column.Key] = Math.Round(double.Parse(new DataTable().Compute(ChemFormula, null).ToString()), 4); } catch (Exception) { tempRow[column.Key] = null; } } tempRow["SAMPLE_NO"] = dataRow["ASSAYNO"]; tempRow["CIC"] = dataRow["STOVE_NO"]; dtChem.Rows.Add(tempRow); } } ulgridElement.Refresh(); BaseHelper.setOtherColumnReadOnly(ulgridElement, new[] { "Check" }); GridHelper.RefreshAndAutoSize(ulgridElement); BaseHelper.ForbidSort(ulgridElement); ulgridElement.DisplayLayout.Bands[0].Columns["CIC"].MergedCellStyle = MergedCellStyle.Always; ulgridElement.DisplayLayout.Bands[0].Columns[0].CellAppearance.FontData.Bold = DefaultableBoolean.True; if (ulgridElement.Rows.Count > countMes) { ulgridElement.Rows[countMes].Activate(); } } private void ulgridElement_InitializeRow(object sender, InitializeRowEventArgs e) { GridActiveDele(); } private void GridActiveDele() { UltraGridRow row = ulgridElement.ActiveRow; if (row == null) return; if (row.Index < countMes) return; foreach (var Cell in row.Cells) { string ColumnsName = Cell.Column.Key; if (ColumnsName.Equals("SAMPLE_NO")) continue; if (ColumnsName.Equals("CIC")) continue; if (ColumnsName.Equals("STOVE_NO")) continue; if (ColumnsName.Equals("ASSAYNO")) continue; for (int i = 0; i < countMes - 1; i = i + 2) { int Result = SteelManagementHelper.CompareChem(Cell.Value, ulgridElement.Rows[i].Cells[ColumnsName].Value, ulgridElement.Rows[i + 1].Cells[ColumnsName].Value); if (Result == 2) { Cell.Appearance.ResetBackColor(); } else if (Result > 0) { ulgridElement.Rows[i].Cells[ColumnsName].Appearance.BackColor = Color.Red; ulgridElement.Rows[i + 1].Cells[ColumnsName].Appearance.BackColor = Color.Red; } else if (Result < 0) { ulgridElement.Rows[i].Cells[ColumnsName].Appearance.BackColor = Color.Yellow; ulgridElement.Rows[i + 1].Cells[ColumnsName].Appearance.BackColor = Color.Yellow; } else { ulgridElement.Rows[i].Cells[ColumnsName].Appearance.BackColor = Color.LightGreen; ulgridElement.Rows[i + 1].Cells[ColumnsName].Appearance.BackColor = Color.LightGreen; //Cell.Appearance.BackColor = Color.LightGreen; } } } } private void ulgridElement_AfterRowActivate(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; ulgridElement.BeginUpdate(); DataRowView dataRow = (DataRowView)ulgridElement.ActiveRow.ListObject; if (dataRow["SAMPLE_NO"].ToString().Contains("限")) { return; } GridActiveDele(); } finally { ulgridElement.EndUpdate(); this.Cursor = Cursors.Default; } } private void ultraGridChoose_CellChange(object sender, CellEventArgs e) { bool flag = false; if (ultraMore.Checked) { flag = true; } UltraGridRow row = ultraGridChoose.ActiveRow; ultraGridChoose.UpdateData(); if (e.Cell.Column.Key.Equals("TakeCount")) { if (e.Cell.Row.Cells["TakeCount"].Value == null) { row.Cells["TakeCount"].Value = row.Cells["ActCount"].Value.ToString(); } else { string actLen = e.Cell.Row.Cells["TakeCount"].Value.ToString(); if (!StringUtil.IsInt(actLen) || actLen == "0") { e.Cell.Row.Cells["TakeWeight"].Value = "0"; } else { //查询库存重量 DataTable dt = ServerHelper.GetData("com.steering.pss.plnsaleord.planStove.FrmPlanSteelMakMod.queryMatWeigth", new object[] { row.Cells["JudgeStoveNo"].Value.ToString(), row.Cells["FixNum"].Value.ToString(), row.Cells["ActLen"].Value.ToString(), row.Cells["FixLen"].Value.ToString(), actLen, flag }, ob); if (dt.Rows.Count > 0) { e.Cell.Row.Cells["TakeWeight"].Value = dt.Rows[0]["ACT_WEIGHT"].ToString(); if (e.Cell.Row.Cells["TakeWeight"].Value.Equals("0")) { row.Cells["TakeCount"].Value = "0"; } } } } } } private void Chcbelong_CheckedChanged(object sender, EventArgs e) { if (Chcbelong.Checked) { txtbelong.Enabled = true; } else { txtbelong.Enabled = false; } if (chcGrade.Checked) { comGrade.Enabled = true; } else { comGrade.Enabled = false; } if (chcJudgeNo.Checked) { txtJudgeNo.Enabled = true; } else { txtJudgeNo.Enabled = false; } } private void ultraMore_CheckedChanged(object sender, EventArgs e) { Query(); } private void ultraCheckEditor1_CheckedChanged(object sender, EventArgs e) { Query(); } } }