/// <summary> /// 覆盖方案事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_Save_Click(object sender, EventArgs e) { try { //获取面板中最后一个用户控件 int ContrNum = Pal_FlCtner.Controls.Count; UsrContr_Filter Filter = (UsrContr_Filter)Pal_FlCtner.Controls[ContrNum - 1]; if (((SearchLookUpEdit)Filter.Controls["SLkUp_ColNams"]).EditValue != null) { if (BracketsMatch(GetFltSltDtl())) { DialogResult Result = XtraMessageBox.Show("您是否需要覆盖本过滤方案!", "提醒", MessageBoxButtons.OKCancel); if (Result == DialogResult.OK) { //EditFltSlt(); if (SltEditNode != null) { List <DTSerializer <string, object> > List_DTObj = GetFltSltDtl(); foreach (DTSerializer <string, object> DTObj2 in List_DTObj) { DTObj2.Add("FSltID", SltEditNode.GetValue("FSltID").ToString()); DTObj2.Add("FSltType", "0"); } //开始事务 ComClient.BeginTransaction(); ComClient.SaveFltSlt1(OperType.Delete, Serializer.SerializeDTToXml <List <DTSerializer <string, object> > >(List_DTObj), "t_ADMM_FltSltforDtl", " FSltID='" + SltEditNode.GetValue("FSltID").ToString() + "'"); ComClient.SaveFltSlt1(OperType.AddSave, Serializer.SerializeDTToXml <List <DTSerializer <string, object> > >(List_DTObj), "t_ADMM_FltSltforDtl", ""); //提交事务 ComClient.CommitTransaction(); //将树节点切换成不可编辑模式 TrList_FltSlt.OptionsBehavior.Editable = false; } } } else { return; } } else { Common.ShowMsg("字段名称不能为空!"); } } catch (Exception Ex) { Common.ShowMsg(Ex.Message); } }
/// <summary> /// 修改过滤方案 /// </summary> private void EditFltSlt() { try { if (SltEditNode != null) { string SltName = SltEditNode.GetValue("FSltName").ToString(); string SltID = SltEditNode.GetValue("FSltID").ToString(); if (ComClient.EditFltSlt(SltName, SltID) < 1) { Common.ShowMsg("方案名称保存失败!"); } //将树节点切换成不可编辑模式 TrList_FltSlt.OptionsBehavior.Editable = false; } } catch (Exception) { throw; } }
/// <summary> /// 过滤方案节点焦点改变事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void TrList_FltSlt_FocusedNodeChanged(object sender, FocusedNodeChangedEventArgs e) { try { //将树节点切换成不可编辑模式 TrList_FltSlt.OptionsBehavior.Editable = false; SltEditNode = TrList_FltSlt.FocusedNode; System.Drawing.Point Point1 = new System.Drawing.Point(0, 4); string SltID = SltEditNode.GetValue("FSltID").ToString(); //1.根据过滤方案ID获取方案明细数据 List <ExpandoObject> List_EObj = Serializer.DeserializeXMLToEObject(ComClient.GetFltSltDtlBySltID(SltID)); if (SltID != "P01" && SltID != "S01") { //2.清空面板中的所有过滤控件 Pal_FlCtner.Controls.Clear(); } //3.依次读取过滤方案明细数据,根据读取到的数据设置过滤控件中每一个子控件的隐藏属性及控件的EditValue int i = 2; foreach (dynamic EObj in List_EObj) { UsrContr_Filter Filter = new UsrContr_Filter(AddType.Auto); Filter.Name = "UsrContr_Filter" + i.ToString(); Filter.Tag = i++; //初始化过滤控件 InitLkUp(Filter); string[] Names = { "LkUp_Brackets1", "SLkUp_ColNams", "LkUp_Cdt", "CBox_CdtValue1", "CBox_CdtValue2", "CBox_CdtValue3", "DEd_CdtValue3", "DEd_CdtValue5", "DEd_CdtValue6", "LkUp_Brackets2", "LkUp_Rlt" }; foreach (string name in Names) { //return; //查询出指定名称的控件 var Query = from Contr1 in Filter.Controls.Cast <Control>() where Contr1.Name == name select Contr1; Control Contr = Query.First <Control>(); if (Contr.Name == "LkUp_Brackets1") { //((LookUpEdit)Contr).Text = (string)EObj.FBrackets1Value; List <ExpandoObject> ListEObj = (List <ExpandoObject>)(((LookUpEdit)Contr).Properties.DataSource); var Qurey = from dynamic EObj1 in ListEObj where EObj1.FRemark == EObj.FBrackets1Value select EObj1; if (Qurey.Count <dynamic>() != 0) { dynamic EObj2 = Qurey.First <dynamic>(); ((LookUpEdit)Contr).EditValue = EObj2.FColNm; } } else if (Contr.Name == "SLkUp_ColNams") { List <ExpandoObject> ListEObj = (List <ExpandoObject>)(((SearchLookUpEdit)Contr).Properties.DataSource); var Qurey = from dynamic EObj1 in ListEObj where EObj1.FRemark == EObj.FColNamsValue select EObj1; if (Qurey.Count <dynamic>() != 0) { dynamic EObj2 = Qurey.First <dynamic>(); ((SearchLookUpEdit)Contr).EditValue = EObj2.FColNm; } } else if (Contr.Name == "LkUp_Cdt") { //((LookUpEdit)Contr).Text = (string)EObj.FCdt; List <ExpandoObject> ListEObj = (List <ExpandoObject>)(((LookUpEdit)Contr).Properties.DataSource); var Qurey = from dynamic EObj1 in ListEObj where EObj1.FRemark == EObj.FCdt select EObj1; if (Qurey.Count <dynamic>() != 0) { dynamic EObj2 = Qurey.First <dynamic>(); ((LookUpEdit)Contr).EditValue = EObj2.FColNm; } } else if (Contr.Name == "CBox_CdtValue1") { ((ComboBoxEdit)Contr).Text = (string)EObj.FCBoxCdtValue1; ((ComboBoxEdit)Contr).Visible = (string)EObj.FCBoxCdtValue1 == "null" ? false : true; } else if (Contr.Name == "CBox_CdtValue2") { ((ComboBoxEdit)Contr).Text = (string)EObj.FCBoxCdtValue2; ((ComboBoxEdit)Contr).Visible = (string)EObj.FCBoxCdtValue2 == "null" ? false : true; } else if (Contr.Name == "CBox_CdtValue3") { ((ComboBoxEdit)Contr).Text = (string)EObj.FCBoxCdtValue3; ((ComboBoxEdit)Contr).Visible = (string)EObj.FCBoxCdtValue3 == "null" ? false : true; } else if (Contr.Name == "DEd_CdtValue3") { ((DateEdit)Contr).Text = (string)EObj.FDedCdtValue3; ((DateEdit)Contr).Visible = (string)EObj.FDedCdtValue3 == "null" ? false : true; } else if (Contr.Name == "DEd_CdtValue5") { ((DateEdit)Contr).Text = (string)EObj.FDedCdtValue5; ((DateEdit)Contr).Visible = (string)EObj.FDedCdtValue5 == "null" ? false : true; } else if (Contr.Name == "DEd_CdtValue6") { ((DateEdit)Contr).Text = (string)EObj.FDedCdtValue6; ((DateEdit)Contr).Visible = (string)EObj.FDedCdtValue6 == "null" ? false : true; } else if (Contr.Name == "LkUp_Brackets2") { //((LookUpEdit)Contr).Text = (string)EObj.FBrackets2; List <ExpandoObject> ListEObj = (List <ExpandoObject>)(((LookUpEdit)Contr).Properties.DataSource); var Qurey = from dynamic EObj1 in ListEObj where EObj1.FRemark == EObj.FBrackets2 select EObj1; if (Qurey.Count <dynamic>() != 0) { dynamic EObj2 = Qurey.First <dynamic>(); ((LookUpEdit)Contr).EditValue = EObj2.FColNm; } } else if (Contr.Name == "LkUp_Rlt") { List <ExpandoObject> ListEObj = (List <ExpandoObject>)(((LookUpEdit)Contr).Properties.DataSource); var Qurey = from dynamic EObj1 in ListEObj where EObj1.FRemark == EObj.FRlt select EObj1; if (Qurey.Count <dynamic>() != 0) { dynamic EObj2 = Qurey.First <dynamic>(); ((LookUpEdit)Contr).EditValue = EObj2.FColNm; } //((LookUpEdit)Contr).Text ="或者"; Filter.addType = AddType.Manual; } } Pal_FlCtner.Controls.Add(Filter); if (Filter.Name != "UsrContr_Filter2") { Point1.Y = Point1.Y + 23; Filter.Location = Point1; } } } catch (Exception Ex) { Common.ShowMsg(Ex.Message); } }