Esempio n. 1
0
        public static void OnClauseClick(this IXpandFilterControl filterControl, object sender, EventArgs e)
        {
            var filterControlFocusInfo = filterControl.FocusInfo;
            var node = (ClauseNode)filterControlFocusInfo.Node;

            node.Operation = (ClauseType)((DXMenuItem)sender).Tag;
            filterControl.RefreshTreeAfterNodeChange();
            filterControl.RaiseFilterChanged(new FilterChangedEventArgs(FilterChangedAction.OperationChanged, node));
            FilterControlFocusInfo fi = filterControlFocusInfo.OnRight();

            if (fi.Node == filterControlFocusInfo.Node)
            {
                filterControl.FocusInfo = fi;
            }
        }
Esempio n. 2
0
 public static void RaisePopupMenuShowingX(this IXpandFilterControl filterControl, PopupMenuShowingEventArgs e)
 {
     if (e.MenuType == FilterControlMenuType.Clause && filterControl.ModelMembers != null)
     {
         var criteriaOperator = new XpandNodeToCriteriaProcessor().Process(e.CurrentNode);
         var operandProperty  = criteriaOperator.GetOperators().OfType <OperandProperty>().First();
         var modelMember      = filterControl.ModelMembers.Cast <IModelMemberFullTextContains>().FirstOrDefault(member => member.FullText && member.Name == operandProperty.PropertyName);
         if (modelMember != null)
         {
             var dxMenuItem = new DXMenuItem(ClauseTypeEnumHelper.GetMenuStringByClauseType(ClauseTypeEnumHelper.FullText), filterControl.OnClauseClick)
             {
                 Tag = ClauseTypeEnumHelper.FullText
             };
             e.Menu.Items.Add(dxMenuItem);
         }
     }
 }
Esempio n. 3
0
        public static WinFilterTreeNodeModel CreateXModel(this IXpandFilterControl filterControl)
        {
            var control = (FilterControl)filterControl;

            return(new XpandFilterTreeNodeModel(control));
        }