Sub OnFilter(Sender: Object; Args: ITreeSearchNodeEventArgs);
Begin
//набор операторов;
End Sub OnFilter;
Sub OnFilter(pSender: System.Object; pArgs: Prognoz.Platform.Interop.Forms.TreeSearchNodeEventArgs);
Begin
//набор операторов;
End Sub OnFilter;
Sender. Параметр, возвращающий компонент, сгенерировавший событие.
Args. Параметр, позволяющий определить параметры события.
Событие OnFilter наступает после окончания фильтрации списка элементов.
Данное событие наступает для каждого найденного элемента, который в итоге попадает в отфильтрованный список элементов. Используя свойство Show можно управлять отображением элемента в отфильтрованном списке.
Для выполнения примера предполагается наличие формы и расположенного на ней компонента TreeCombo. Для компонента установлены обработчики событий поиска элементов OnBeginFilter и OnFilter.
Class TESTForm: Form
TreeCombo1: TreeCombo;
Sub TreeCombo1OnBeginFilter(Sender: Object; Args: ITreeSearchEventArgs);
Begin
Debug.WriteLine("Фильтрация по тексту: " + Args.SearchText);
End Sub TreeCombo1OnBeginFilter;
Sub TreeCombo1OnFilter(Sender: Object; Args: ITreeSearchNodeEventArgs);
Begin
If Args.Node.Text.IndexOf("Old") <> -1 Then
Args.Show := False;
End If;
End Sub TreeCombo1OnFilter;
End Class TESTForm;
Если компонент находится в фокусе, его список закрыт и осуществляется набор символов, то происходит фильтрация списка элементов. Текст, по которому будет происходить фильтрация, будет выведен в консоль среды разработки. Если элемент в своем наименовании содержит текст «Old», то такие элементы будут скрыты из конечного списка. После фильтрации полученный список элементов будет отображен.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо компонентов Fore используйте их Fore.NET аналоги.
Imports Prognoz.Platform.Forms.Net;
Public Partial Class TESTForm: Prognoz.Platform.Forms.Net.ForeNetForm
Public Constructor TESTForm();
Begin
InitializeComponent();
End Constructor;
Private Sub treeComboNet1_OnBeginFilter(pSender: System.Object; pArgs: Prognoz.Platform.Interop.Forms.TreeSearchEventArgs);
Begin
System.Diagnostics.Debug.WriteLine("Фильтрация по тексту: " + pArgs.SearchText);
End Sub;
Private Sub treeComboNet1_OnFilter(pSender: System.Object; pArgs: Prognoz.Platform.Interop.Forms.TreeSearchNodeEventArgs);
Begin
If pArgs.Node.Text.IndexOf("Old") <> -1 Then
pArgs.Show := False;
End If;
End Sub;
End Class;
См. также: