バージョン

AfterMenuPopulate イベント

メニュー項目のリストがデフォルトの FilterTool で作成される前に発生します。
シンタックス
'宣言
 
Public Event AfterMenuPopulate As AfterMenuPopulateEventHandler
public event AfterMenuPopulateEventHandler AfterMenuPopulate
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、AfterMenuPopulateEventArgs 型の引数を受け取りました。次の AfterMenuPopulateEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
ColumnFilter 現在のフィルター操作と関連付けられた列フィルターを返します。
Handled System.ComponentModel.HandledEventArgsから継承されます。 
MenuItems フィルター プロバイダーで表示されるツールのリストを返します。
使用例
Imports Infragistics.Win
Imports Infragistics.Win.SupportDialogs.FilterUIProvider

Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) 
    Dim menuSettings As FilterUIProviderMenuSettings = Me.ultraGridFilterUIProvider1.MenuSettings 
    
    ' Set the default appearance of all tools that are shown by the provider to have a blue background 
    menuSettings.ToolAppearance.BackColor = Color.Blue 
    
    ' Show a checked item with a gray background. 
    menuSettings.CheckedAppearance.BackColor = Color.Gray 
End Sub 

Private Sub ultraGridFilterUIProvider1_AfterMenuPopulate(ByVal sender As Object, ByVal e As Infragistics.Win.SupportDialogs.FilterUIProvider.AfterMenuPopulateEventArgs) 
    ' Do unique processing for the tools that are on the root level of the menu 
    For Each tool As FilterTool In e.MenuItems 
        ' Instead of the default gray background on a checked item, have any checked items 
        ' on the root level have a red background. 
        If tool.Checked Then 
            tool.CheckedAppearance.BackColor = Color.Red 
        End If 
        
        Dim treeTool As FilterTreeTool = TryCast(tool, FilterTreeTool) 
        If treeTool IsNot Nothing Then 
            ' Set the tree to only drill down as far as the month of the date. This differs 
            ' from setting the DateHierarchyLevel on the FilterUIProviderTreeSettings in that 
            ' that setting will apply to all menus that the provider shows (as it can be 
            ' associated with multiple grids), while setting the property here allows 
            ' a more precise control over each instance. 
            treeTool.DateHierarchyLevel = DateHierarchyLevel.Month 
        Else 
            ' Process any child menu items 
            Dim menuTool As FilterMenuTool = TryCast(tool, FilterMenuTool) 
            If menuTool IsNot Nothing Then 
                Me.AfterMenuPopulateHelper(menuTool.Tools) 
            End If 
        End If 
    Next 
End Sub 

Private Sub AfterMenuPopulateHelper(ByVal tools As IList(Of FilterTool)) 
    ' Prepend the index of each tool to the displayed text 
    For i As Integer = 0 To tools.Count - 1 
        Dim tool As FilterTool = tools(i) 
        tool.DisplayText = String.Format("{0} - {1}", i, tool.DisplayText) 

        ' If the item is the first item in the group, bold the text
        if (i = 0 Or tool.IsFirstInGroup)
            tool.Appearance.FontData.Bold = DefaultableBoolean.True
        
        ' Do this recursively for any other menu tools 
        Dim menuTool As FilterMenuTool = TryCast(tool, FilterMenuTool) 
        If menuTool IsNot Nothing Then 
            Me.AfterMenuPopulateHelper(menuTool.Tools) 
        End If 
    Next 
End Sub
using Infragistics.Win;
using Infragistics.Win.SupportDialogs.FilterUIProvider;

private void Form1_Load(object sender, EventArgs e)
{
    FilterUIProviderMenuSettings menuSettings = this.ultraGridFilterUIProvider1.MenuSettings;

    // Set the default appearance of all tools that are shown by the provider to have a blue background
    menuSettings.ToolAppearance.BackColor = Color.Blue;

    // Show a checked item with a gray background.
    menuSettings.CheckedAppearance.BackColor = Color.Gray;
}

private void ultraGridFilterUIProvider1_AfterMenuPopulate(object sender, Infragistics.Win.SupportDialogs.FilterUIProvider.AfterMenuPopulateEventArgs e)
{
    // Do unique processing for the tools that are on the root level of the menu
    foreach (FilterTool tool in e.MenuItems)
    {
        // Instead of the default gray background on a checked item, have any checked items
        // on the root level have a red background.
        if (tool.Checked)
            tool.CheckedAppearance.BackColor = Color.Red;

        FilterTreeTool treeTool = tool as FilterTreeTool;
        if (treeTool != null)
        {
            // Set the tree to only drill down as far as the month of the date.  This differs
            // from setting the DateHierarchyLevel on the FilterUIProviderTreeSettings in that 
            // that setting will apply to all menus that the provider shows (as it can be 
            // associated with multiple grids), while setting the property here allows
            // a more precise control over each instance.
            treeTool.DateHierarchyLevel = DateHierarchyLevel.Month;
        }
        else
        {
            // Process any child menu items
            FilterMenuTool menuTool = tool as FilterMenuTool;
            if (menuTool != null)
                this.AfterMenuPopulateHelper(menuTool.Tools);
        }
    }
}

private void AfterMenuPopulateHelper(IList<FilterTool> tools)
{
    // Prepend the index of each tool to the displayed text
    for (int i = 0; i < tools.Count; i++)
    {
        FilterTool tool = tools[i];
        tool.DisplayText = String.Format("{0} - {1}", i, tool.DisplayText);

        // If the item is the first item in the group, bold the text
        if (i == 0 || tool.IsFirstInGroup)
            tool.Appearance.FontData.Bold = DefaultableBoolean.True;


        // Do this recursively for any other menu tools
        FilterMenuTool menuTool = tool as FilterMenuTool;
        if (menuTool != null)
            this.AfterMenuPopulateHelper(menuTool.Tools);
    }
}
参照