Articles in this section

How to hide option from filter bar dropdown list in WinForms GridGroupingControl?

Hide the custom option


To remove the (Custom) option from the FilterBar dropdown list, you need to customize GridListFilterBarCellRenderer using TableControlCurrentCellShowingDropDown, TableControlCurrentCellCloseDropDown events.


private void gridGroupingControl1_TableControlCurrentCellCloseDropDown(object sender, GridTableControlPopupClosedEventArgs e)
{
     GridCurrentCell cc = e.TableControl?.CurrentCell;

     if (cc != null && cc.Renderer != null && cc.Renderer.GetType() == typeof(GridListFilterBarCellRenderer))
     {
         GridListFilterBarCellRenderer renderer = ((GridListFilterBarCellRenderer)(cc.Renderer));

         if (renderer != null && renderer.ListControlPart != null && ((renderer.ListControlPart.SelectedIndex >= 1) && (renderer.ListControlPart.SelectedIndex <= (renderer.ListControlPart.Items?.Count - 1))))
         {
             renderer.ListControlPart.SelectedIndex = (renderer.ListControlPart.SelectedIndex + 1);
         }
     }
 }

 private void gridGroupingControl1_TableControlCurrentCellShowingDropDown(object sender, GridTableControlCurrentCellShowingDropDownEventArgs e)
 {
     GridCurrentCell cc = e.TableControl?.CurrentCell;

     if (cc != null && cc.Renderer != null && cc.Renderer.GetType() == typeof(GridListFilterBarCellRenderer))
     {
         GridListFilterBarCellRenderer renderer = ((GridListFilterBarCellRenderer)(cc.Renderer));

         if (renderer != null)
         {
             GridTableCellStyleInfo tableStyleInfo = ((GridTableCellStyleInfo)(renderer.StyleInfo));

             if (tableStyleInfo != null)
             {
                 if (renderer.ListControlPart?.Items?.Count > 1)
                     renderer.ListControlPart.Items.RemoveAt(1);
             }
         }
     }
 }
Private Sub gridGroupingControl1_TableControlCurrentCellCloseDropDown(ByVal sender As Object, ByVal e As GridTableControlPopupClosedEventArgs)
     Dim cc As GridCurrentCell = e.TableControl.CurrentCell
     If (TypeOf cc.Renderer Is GridListFilterBarCellRenderer) Then
        Dim renderer As GridListFilterBarCellRenderer = CType(cc.Renderer,GridListFilterBarCellRenderer)
        If ((renderer.ListControlPart.SelectedIndex >= 1)  _
           AndAlso (renderer.ListControlPart.SelectedIndex  _
           <= (renderer.ListControlPart.Items.Count - 1))) Then
           renderer.ListControlPart.SelectedIndex = (renderer.ListControlPart.SelectedIndex + 1)
        End If
     End If
End Sub

Private Sub gridGroupingControl1_TableControlCurrentCellShowingDropDown(ByVal sender As Object, ByVal e As GridTableControlCurrentCellShowingDropDownEventArgs)
     Dim cc As GridCurrentCell = e.TableControl.CurrentCell
     If (TypeOf cc.Renderer Is GridListFilterBarCellRenderer) Then
        Dim renderer As GridListFilterBarCellRenderer = CType(cc.Renderer,GridListFilterBarCellRenderer)
        Dim tableStyleInfo As GridTableCellStyleInfo = CType(renderer.StyleInfo,GridTableCellStyleInfo)
        renderer.ListControlPart.Items.RemoveAt(1)
     End If
End Sub 
Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Access denied
Access denied