private FilterDescriptor GetFilterDescriptor(CompositeFilterDescriptor composite) { CompositeFilterDescriptor filterDescriptor = new CompositeFilterDescriptor(); DataFilterGroupNode node1 = this.radDataFilter1.DataFilterElement.Nodes[0] as DataFilterGroupNode; filterDescriptor.LogicalOperator = node1.LogicalOperator; foreach (RadTreeNode node2 in (Collection <RadTreeNode>)node1.Nodes) { DataFilterGroupNode dataFilterGroupNode = node2 as DataFilterGroupNode; if (dataFilterGroupNode != null && dataFilterGroupNode.CompositeDescriptor.FilterDescriptors.Count > 0) { filterDescriptor.FilterDescriptors.Add((FilterDescriptor)dataFilterGroupNode.CompositeDescriptor); } DataFilterCriteriaNode filterCriteriaNode = node2 as DataFilterCriteriaNode; if (filterCriteriaNode != null && filterCriteriaNode.FilterOperator != FilterOperator.None) { filterDescriptor.FilterDescriptors.Add(filterCriteriaNode.Descriptor); } } if (filterDescriptor.FilterDescriptors.Count == 0) { filterDescriptor = (CompositeFilterDescriptor)null; } else if (filterDescriptor.FilterDescriptors.Count == 1) { return(filterDescriptor.FilterDescriptors[0]); } return((FilterDescriptor)filterDescriptor); }
private void AddNewNode(FilterDescriptor descriptor) { DataFilterGroupNode groupNode = this.FindGroupNode(); if (groupNode == null) { return; } RadDataFilterElement treeViewElement = this.TreeViewElement as RadDataFilterElement; if (!treeViewElement.ValidateAddNewNode()) { return; } treeViewElement.AddChildNodes(descriptor, (RadTreeNode)groupNode); }
public override void Synchronize() { base.Synchronize(); if (!this.IsInValidState(true)) { return; } DataFilterGroupNode groupNode1 = this.GroupNode; DataFilterRootNode groupNode2 = this.GroupNode as DataFilterRootNode; if ((groupNode1 == null || groupNode1.CompositeDescriptor == null) && (groupNode2 == null || groupNode2.Filters == null)) { return; } this.logicalOperatorElement.Text = this.GetOperatorText(groupNode1.LogicalOperator); int num = (int)this.SetValue(DataFilterGroupElement.LogicalOperatorProperty, (object)groupNode1.LogicalOperator); }
private void PopulateEditorItems() { BaseDropDownListEditor editor = this.logicalOperatorElement.Editor as BaseDropDownListEditor; if (editor == null) { return; } RadDropDownListElement editorElement = editor.EditorElement as RadDropDownListElement; DataFilterGroupNode groupNode = this.GroupNode; if (editorElement == null || groupNode == null) { return; } editorElement.BeginUpdate(); editorElement.Items.Clear(); int num1 = 0; int num2 = -1; foreach (FilterLogicalOperator logicalOperator in Enum.GetValues(typeof(FilterLogicalOperator))) { RadListDataItem radListDataItem = new RadListDataItem(this.GetOperatorText(logicalOperator), (object)logicalOperator); editorElement.Items.Add(radListDataItem); if (object.Equals((object)logicalOperator, (object)groupNode.LogicalOperator)) { num2 = num1; } ++num1; } editorElement.DropDownWidth = 110; editorElement.SelectedIndex = num2; editorElement.EndUpdate(); editorElement.SelectedValue = (object)groupNode.LogicalOperator; editorElement.Visibility = ElementVisibility.Hidden; }