Добавление элементов в фильтр списковой формы

При необходимости можно добавить свой элемент в фильтр списковой формы посредством GridPanel.FilterControl.AdditionalFilterControls.

У события CustomFilterEventArgs есть параметр FilterActive. Для фильтрации при включенном общем фильтре, следует включать фильтр в обработчике события при FilterActive = true:

private void GridPanel_ApplyCustomFilter(object sender, Client.Controls.CustomFilterEventArgs args)

{

 if (args.FilterActive && OnlyDocumentArticlesChk.Checked)

 {

         var articleList = Articles.OfType<dynamic>().Select(a => (long)a.ArticleID).ToIDList();

         args.AddFilter<Article>(ar => articleList.Contains(ar.ID));

 }

}

Для сброса фильтров существует событие ResetFilters:

GridPanel.ResetFilters += GridPanel_ResetFilters;

 

private void GridPanel_ResetFilters(object sender, EventArgs e)

{

 OnlyDocumentArticlesChk.Checked = false;

}