/// <summary> /// 从父节点向下找,确定子节点 /// </summary> /// <param name="vm"></param> /// <param name="index"></param> private void Bing(ProductAccessoriesQueryConditionVM vm, int index) { if (index < ConditionList.Count) { if (IsTreeQuery) //树形结构需要一层一层按节点加载 { var tempdata = (from p in ConditionList where p.ParentCondition.SysNo == vm.Condition.SysNo select p).FirstOrDefault(); if (tempdata != null) { spCondition.Children.Add(GetStackPanel(tempdata, index)); Bing(tempdata, index + 1); } } else //平行结构直接加载 { spCondition.Children.Clear(); index = 0; foreach (var item in ConditionList) { spCondition.Children.Add(GetStackPanel(item, index)); index = index + 1; } } } }
/// <summary> /// 返回生成的控件 /// </summary> /// <param name="condition"></param> /// <returns></returns> private StackPanel GetStackPanel(ProductAccessoriesQueryConditionVM condition, int index) { TextBlock txt = new TextBlock() { VerticalAlignment = VerticalAlignment.Center }; System.Windows.Data.Binding bing = new System.Windows.Data.Binding("Condition.ConditionName"); txt.SetBinding(TextBlock.TextProperty, bing); ComboBox cb = new ComboBox() { Width = 120, Height = 25, Margin = new Thickness(20, 0, 0, 0) }; cb.Name = "cb" + index.ToString(); cb.DisplayMemberPath = "ConditionValue"; cb.SelectedValuePath = "SysNo"; cb.SelectionChanged += new SelectionChangedEventHandler(cb_SelectionChanged); StackPanel sp = new StackPanel() { Orientation = Orientation.Horizontal, Margin = new Thickness(5) }; sp.Children.Add(txt); sp.Children.Add(cb); sp.DataContext = condition; NodeNumber = index; switch (index) //得到每个条件的数据源 { case 0: ConditionValueList1 = GetConditionValueList(condition.Condition.SysNo, index); break; case 1: ConditionValueList2 = GetConditionValueList(condition.Condition.SysNo, index); break; case 2: ConditionValueList3 = GetConditionValueList(condition.Condition.SysNo, index); break; case 3: ConditionValueList4 = GetConditionValueList(condition.Condition.SysNo, index); break; default: break; } return(sp); }
/// <summary> /// 查询条件model转换 /// </summary> /// <param name="data"></param> /// <returns></returns> private ProductAccessoriesQueryConditionInfo ConvertyConditionEntity(ProductAccessoriesQueryConditionVM data) { return(new ProductAccessoriesQueryConditionInfo() { Condition = new AccessoriesQueryConditionInfo() { ConditionName = data.Condition.ConditionName, MasterSysNo = data.Condition.MasterSysNo, Priority = data.Priority, SysNo = data.Condition.SysNo }, ParentCondition = new AccessoriesQueryConditionInfo() { ConditionName = data.ParentCondition.ConditionName, SysNo = data.ParentCondition.SysNo }, }); }
public ProductAccessoriesQueryConditionSet() { InitializeComponent(); this.ConditionSetResult.LoadingDataSource += new EventHandler <LoadingDataEventArgs>(ConditionSetResult_LoadingDataSource); this.Loaded += (sender, e) => { facade = new ProductAccessoriesFacade(); model = new ProductAccessoriesQueryConditionVM(); this.DataContext = model; if (IsTreeQuery) { sPPreant.Visibility = Visibility.Visible; } else { sPPreant.Visibility = Visibility.Collapsed; } this.ConditionSetResult.Bind(); }; }
/// <summary> /// 更新 /// </summary> /// <param name="modle"></param> /// <param name="callback"></param> public void UpdateAccessoriesQueryCondition(ProductAccessoriesQueryConditionVM modle, EventHandler <RestClientEventArgs <dynamic> > callback) { restClient.Update(UpdateAccessoriesQueryConditionUrl, ConvertyConditionEntity(modle), callback); }