/// <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> /// <param name="UsrContr">被查询的用户控件</param> /// <param name="IfVisible">是否显示</param> /// <returns></returns> private List <Control> GetVibContr(Control UsrContr, bool IfVisible) { try { UsrContr_Filter usrContr_Filter = (UsrContr_Filter)UsrContr; //查询出所有显示的控件 var Qurey = from Control control in usrContr_Filter.Controls.Cast <Control>() where control.Visible == IfVisible select control; return(Qurey.ToList <Control>()); } catch (Exception Ex) { Common.ShowMsg(Ex.Message); } return(new List <Control>()); }
/// <summary> /// 关系选择值改变事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void LkUp_Rlt_EditValueChanged(object sender, EventArgs e) { try { if (addType == AddType.Manual) { //获取当前控件的父容器 CtrContainer = (Control)this.Parent; //获取当前控件的父窗体 FrmFilter ParentForm = (FrmFilter)this.ParentForm; if (CtrContainer != null && SLkUp_ColNams.EditValue != null) { UsrContr_Filter Filter = new UsrContr_Filter(AddType.Manual); Filter.Size = new System.Drawing.Size(808, 25); Filter.Tag = int.Parse(this.Tag.ToString()) + 1; Filter.Name = "UsrContr_Filter" + (int.Parse(this.Tag.ToString()) + 1).ToString(); //先检查原面板内是否包含该控件,避免重复添加 var Qurey = from Control Contr in CtrContainer.Controls where Contr.Name == Filter.Name select Contr; if (Qurey.Count <Control>() == 0) { ParentForm.InitLkUp(Filter); CtrContainer.Controls.Add(Filter); } int Y = this.Location.Y + 23; Filter.Location = new System.Drawing.Point(0, Y); } else { Common.ShowMsg("字段名称不能为空!"); } } } catch (Exception Ex) { Common.ShowMsg(Ex.Message); } }
/// <summary> /// 另存为弹窗事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_SaveAs_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) { FrmSaveAs frmSaveAs = new DiousEPortal.FrmSaveAs(); frmSaveAs.ComClient = ComClient; frmSaveAs.CurUsrID = CurUsrID; frmSaveAs.CurUsrName = CurUsrName; frmSaveAs.FrmNam = FrmNam; CurFltSltDtl = GetFltSltDtl(); //判断左右括号是否匹配,如果不匹配则退出方法 if (BracketsMatch(CurFltSltDtl)) { //传递过滤方案明细数据 frmSaveAs.FltSltDtl = CurFltSltDtl; frmSaveAs.ShowDialog(); TrList_FltSlt.DataSource = Serializer.DeserializeXMLToDT(ComClient.GetFltSlt(CurUsrID, FrmNam)); TrList_FltSlt.ExpandAll(); } else { return; } } else { Common.ShowMsg("字段名不能为空!"); } } catch (Exception Ex) { Common.ShowMsg(Ex.Message); } }
/// <summary> /// 清空条件选择控件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Btn_Clear_Click(object sender, EventArgs e) { try { for (int i = 1; i <= Pal_FlCtner.Controls.Count; i++) { //清空全部条件选择控件 Pal_FlCtner.Controls.Clear(); } //新建一个条件选择控件 UsrContr_Filter Filter = new UsrContr_Filter(AddType.Manual); InitLkUp(Filter); Pal_FlCtner.Controls.Add(Filter); Filter.Name = "UsrContr_Filter2"; Filter.Tag = "2"; Filter.Location = new Point(3, 4); } catch (Exception Ex) { Common.ShowMsg(Ex.Message); } }
/// <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); } }