バージョン

Checked プロパティ (FilterTool)

ボタン ツールはその横のチェックマークを表示するかどうかを取得または設定します。
シンタックス
'宣言
 
Public Overridable Property Checked As Boolean
public virtual bool Checked {get; set;}
解説

FilterOperandTool を例外として、メニューでチェックされていると見なされる場合に派生クラスが決定する機能です。フィルター プロバイダーには、ツールをクリックしてフィルタリングが処理されているかを特定する手段がないためです。

注: フィルタープロバイダーは、一度に 1 項目だけがチェックされているかを確認しません。AfterMenuPopulate イベントは、どのツールがチェックされるかを操作するのに使用できます。

使用例
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);
    }
}
参照