/// <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); } }