'宣言 Public Event RecordFilterDropDownPopulating As EventHandler(Of RecordFilterDropDownPopulatingEventArgs)
public event EventHandler<RecordFilterDropDownPopulatingEventArgs> RecordFilterDropDownPopulating
イベント ハンドラが、このイベントに関連するデータを含む、RecordFilterDropDownPopulatingEventArgs 型の引数を受け取りました。次の RecordFilterDropDownPopulatingEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
AsynchLoadDuration | 停止して別の AsynchLoadInterval を待つ前に一意の値を読み取るための最大ミリ秒数を指定します。 |
AsynchLoadInterval | 非同期読み込み処理をトリガーするために使用するタイマー間隔を指定します。 |
AsynchLoadThreshhold | 引き続き読み込み処理を非同期で行う前に、一意の値を読み取るために使用する最大ミリ秒数を指定します。 |
DropDownItems | フィルター ドロップダウンに表示される項目を返します。新しいエントリの追加またはフィルター ドロップダウンから存在のエントリの削除をするのにリストの変更が可能です。 |
Field | 関連付けられた Field を返します(読み取り専用)。 |
Handled System.Windows.RoutedEventArgsから継承されます。 | Gets or sets a value that indicates the present state of the event handling for a routed event as it travels the route. |
IncludeUniqueValues | データ プレゼンターは、フィルター ドロップダウンリストにデータ ソースからの固有フィールド値を含む必要があるかどうかを指定します。 |
ItemsType | DropDownItems または MenuItems がドロップダウンを事前に設定するために使用されるかどうかを示す列挙型を返します。 |
MenuItems | フィルター ドロップダウンに表示されるメニュー項目を返します。新しいエントリの追加またはフィルター ドロップダウンから存在のエントリの削除をするのにリストの変更が可能です。 |
OriginalSource System.Windows.RoutedEventArgsから継承されます。 | Gets the original reporting source as determined by pure hit testing, before any possible System.Windows.RoutedEventArgs.Source adjustment by a parent class. |
RaisedForCustomFilterSelectionControl | ユーザーがカスタム フィルター選択のコントロールでフィルター ドロップダウンをドロップダウンした時に、このイベントが発生した場合は、True を返します。 |
RecordManager | 関連付けられた RecordManager を返します(読み取り専用)。 |
RoutedEvent System.Windows.RoutedEventArgsから継承されます。 | Gets or sets the System.Windows.RoutedEventArgs.RoutedEvent associated with this System.Windows.RoutedEventArgs instance. |
Source System.Windows.RoutedEventArgsから継承されます。 | Gets or sets a reference to the object that raised the event. |
RecordFilterDropDownPopulating は、ユーザーがフィルター セルでまたはフィールド ラベルのフィルター アイコンでフィルター ドロップダウンをドロップした時に発生します (FieldLayoutSettings.FilterUIType を参照ください)。イベント引数の DropDownItems プロパティを使用してフィルター ドロップダウンに表示されるアイテムのリストを操作できます。
Imports Infragistics.Windows Imports Infragistics.Windows.Controls Imports Infragistics.Windows.Editors Imports Infragistics.Windows.DataPresenter Imports Infragistics.Windows.DataPresenter.Events Private Sub Dp_RecordFilterDropDownPopulating(ByVal sender As Object, ByVal e As RecordFilterDropDownPopulatingEventArgs) If e.Field.EditAsTypeResolved Is GetType(String) Then ' At this point, e.DropDownItems will be pre-populated with special operands, like ' (Custom), (Blanks), (NonBlanks) etc... You can remove them if you don't want to ' display those options. ' ' Remove all but (All) and (Custom) items from the drop-down. ' Dim i As Integer For i = e.DropDownItems.Count - 1 To 0 Step -1 ' Remove all but (All) and (Custom) items from the list. ' If Not e.DropDownItems(i).DisplayText.StartsWith("(All)") _ AndAlso Not e.DropDownItems(i).DisplayText.StartsWith("(Custom)") Then e.DropDownItems.RemoveAt(i) End If Next ' After this event is raised, data presenter will populate the drop-down with ' field values. If you don't want to display field values in the filter drop-down ' then set IncludeUniqueValues to false, which will prevent the data presenter ' from adding field values to the drop-down. ' e.IncludeUniqueValues = False ' Add custom items. Items can be ICondition derived class (here we are using built-in ' ComparisonCondition), or a SpecialFilterBase derived class, or a ICommand (which ' lets you to take an action, like show a dialog). You can even implement your own ' ICondition to provide completely custom logic. ' Dim item As FilterDropDownItem item = New FilterDropDownItem(New ComparisonCondition(ComparisonOperator.Match, "^[A-F]"), "A-F") e.DropDownItems.Add(item) item = New FilterDropDownItem(New ComparisonCondition(ComparisonOperator.Match, "^[G-K]"), "G-K") e.DropDownItems.Add(item) item = New FilterDropDownItem(New ComparisonCondition(ComparisonOperator.Match, "^[L-P]"), "L-P") e.DropDownItems.Add(item) item = New FilterDropDownItem(New ComparisonCondition(ComparisonOperator.Match, "^[Q-Z]"), "Q-Z") e.DropDownItems.Add(item) End If End Sub
using Infragistics.Windows; using Infragistics.Windows.Controls; using Infragistics.Windows.Editors; using Infragistics.Windows.DataPresenter; using Infragistics.Windows.DataPresenter.Events; private void dp_RecordFilterDropDownPopulating( object sender, RecordFilterDropDownPopulatingEventArgs e ) { if ( e.Field.EditAsTypeResolved == typeof( string ) ) { // At this point, e.DropDownItems will be pre-populated with special operands, like // (Custom), (Blanks), (NonBlanks) etc... You can remove them if you don't want to // display those options. // // Remove all but (All) and (Custom) items from the drop-down. // for ( int i = e.DropDownItems.Count - 1; i >= 0; i-- ) { // Remove all but (All) and (Custom) items from the list. // if ( ! e.DropDownItems[i].DisplayText.StartsWith( "(All)" ) && ! e.DropDownItems[i].DisplayText.StartsWith( "(Custom)" ) ) { e.DropDownItems.RemoveAt( i ); } } // After this event is raised, data presenter will populate the drop-down with // field values. If you don't want to display field values in the filter drop-down // then set IncludeUniqueValues to false, which will prevent the data presenter // from adding field values to the drop-down. // e.IncludeUniqueValues = false; // Add custom items. Items can be ICondition derived class (here we are using built-in // ComparisonCondition), or a SpecialFilterBase derived class, or a ICommand (which // lets you to take an action, like show a dialog). You can even implement your own // ICondition to provide completely custom logic. // FilterDropDownItem item; item = new FilterDropDownItem( new ComparisonCondition( ComparisonOperator.Match, "^[A-F]" ), "A-F" ); e.DropDownItems.Add( item ); item = new FilterDropDownItem( new ComparisonCondition( ComparisonOperator.Match, "^[G-K]" ), "G-K" ); e.DropDownItems.Add( item ); item = new FilterDropDownItem( new ComparisonCondition( ComparisonOperator.Match, "^[L-P]" ), "L-P" ); e.DropDownItems.Add( item ); item = new FilterDropDownItem( new ComparisonCondition( ComparisonOperator.Match, "^[Q-Z]" ), "Q-Z" ); e.DropDownItems.Add( item ); } }