Articles in this section
Category / Section

How to localize dynamic filter keywords in WinForms GridGroupingControl?

4 mins read

Localize the dynamic filter keyword


In the dynamic filter, the keywords of the compare operator are localized properly when you use ILocalization provider but the keyword Expression Match is not localized because this is added manually by using CreateCompareOperatorList event in the source. You can localize it by some customized way using WinForms GridGroupingControl.


Show the expression match keyword is not localized


Solution

This problem can be achieved by handling TableControlCurrentCellShowingDropDown, TableControlCellButtonClicked, and CloseUp events. Refer to the following code examples.

 

C#

int buttonIndex = 0;
void gridGroupingControl1_TableControlCellButtonClicked(object sender, GridTableControlCellButtonClickedEventArgs e)
{
    //Identifies the button index(Compare Operator Button)
    buttonIndex = e.Inner.ButtonIndex;
}

void gridGroupingControl1_TableControlCurrentCellShowingDropDown(object sender, GridTableControlCurrentCellShowingDropDownEventArgs e)
{
    if (e.TableControl.CurrentCell.Renderer is GridTableFilterBarExtCellRenderer)
    {
        GridTableFilterBarExtCellRenderer rend = e.TableControl.CurrentCell.Renderer as GridTableFilterBarExtCellRenderer;
        var s = rend.ListBoxPart.Items;
        if (this.checkBox5.Checked && buttonIndex == 1)
        {
            rend.DropDownContainer.CloseUp += new PopupClosedEventHandler(DropDownContainer_CloseUp);
            rend.ListBoxPart.Items[10] = "expresión de coincidences"; 
           //Specifies your needed localization string
        }
    }
}

void DropDownContainer_CloseUp(object sender, PopupClosedEventArgs e)
{
if (buttonIndex == 1)
{
    if (this.gridGroupingControl1.TableControl.CurrentCell.Renderer is GridTableFilterBarExtCellRenderer)
    {
        GridTableFilterBarExtCellRenderer rend = this.gridGroupingControl1.TableControl.CurrentCell.Renderer as GridTableFilterBarExtCellRenderer;
        if (this.checkBox5.Checked && buttonIndex == 1)
        {
            if (rend.ListBoxPart.SelectedIndex == 10)
            {
                object value = "Expression Match...";
               //Returns the correct value while closing the dropdown container
                rend.ListBoxPart.Items[10] = value;
            }
        }
    }
  }            
} 

VB

Private buttonIndex As Integer = 0
Private Sub gridGroupingControl1_TableControlCellButtonClicked(ByVal sender As Object, ByVal e As GridTableControlCellButtonClickedEventArgs)
   'Identifies the button index(Compare Operator Button)
   buttonIndex = e.Inner.ButtonIndex
End Sub

Private Sub gridGroupingControl1_TableControlCurrentCellShowingDropDown(ByVal sender As Object, ByVal e As GridTableControlCurrentCellShowingDropDownEventArgs)
   If TypeOf e.TableControl.CurrentCell.Renderer Is GridTableFilterBarExtCellRenderer Then
      Dim rend As GridTableFilterBarExtCellRenderer = TryCast(e.TableControl.CurrentCell.Renderer, GridTableFilterBarExtCellRenderer)
      Dim s = rend.ListBoxPart.Items
      If Me.checkBox5.Checked AndAlso buttonIndex = 1 Then
         AddHandler rend.DropDownContainer.CloseUp, AddressOf DropDownContainer_CloseUp
         rend.ListBoxPart.Items(10) = "expresión de coincidencia" 
         'Specifies your needed localization string
      End If
   End If
End Sub

Private Sub DropDownContainer_CloseUp(ByVal sender As Object, ByVal e As PopupClosedEventArgs)
   If buttonIndex = 1 Then
      If TypeOf Me.gridGroupingControl1.TableControl.CurrentCell.Renderer Is GridTableFilterBarExtCellRenderer Then
         Dim rend As GridTableFilterBarExtCellRenderer = TryCast(Me.gridGroupingControl1.TableControl.CurrentCell.Renderer, GridTableFilterBarExtCellRenderer)
         If Me.checkBox5.Checked AndAlso buttonIndex = 1 Then
            If rend.ListBoxPart.SelectedIndex = 10 Then
               Dim value As Object = "Expression Match..." 
               'Returns the correct value while closing the dropdown container
               rend.ListBoxPart.Items(10) = value
            End If
         End If
      End If
   End If
End Sub

 The screenshot below illustrates the localization of dynamic filter in GridGroupingControl.

Show the localized keyword using dynamic filter


Conclusion


I hope you enjoyed learning how to localize dynamic filter keywords in GridGroupingControl.


You can refer to WinForms GridGroupingControl feature tour page to know about its other groundbreaking feature representations and WinForms GridGroupingControl documentation, and how to quickly get started for configuration specifications. You can also explore our WinForms GridGroupingControl example to understand how to create and manipulate data.


For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.


If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forumsDirect-Trac, or feedback portal. We are always happy to assist you!

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied