private void filterControl1_PopupMenuShowing(object sender, DevExpress.XtraEditors.Filtering.PopupMenuShowingEventArgs e) { //for (int i = e.Menu.Items.Count - 1; i >= 0; i--) //{ // DXMenuItem item = e.Menu.Items[i]; // if (!(item is DXSubMenuItem)) // { // Type type = ((FilterColumn)item.Tag).ColumnType; // OperandProperty firstOperand = ((ClauseNode)e.CurrentNode).FirstOperand; // if (((FilterControl)sender).FilterColumns[firstOperand].ColumnType != type) // { // e.Menu.Items.RemoveAt(i); //remove the item instead of changing the visible property // } // } //} }
private void OnPopupMenuShowing(object sender, DevExpress.XtraEditors.Filtering.PopupMenuShowingEventArgs e) { if (e.MenuType == FilterControlMenuType.Clause) { ClauseNode node = e.CurrentNode as ClauseNode; if (node != null && node.Property.Type == typeof(DateTime)) { e.Menu.Hide(ClauseType.Equals); e.Menu.Remove(ClauseType.DoesNotEqual); e.Menu.Hide(DevExpress.XtraEditors.Controls.StringId.FilterAdvancedDateTimeOperatorMenuCaption); var menuItem = e.Menu.Find(ClauseType.Between); menuItem.Caption = "Between A and B"; //menuItem.ImageOptions.SvgImage = MySvgImage1; } } }