This commit is contained in:
2018-10-14 23:26:09 +02:00
parent 8956813183
commit 4ceb9fcd09
40 changed files with 10331 additions and 64 deletions
@@ -0,0 +1,42 @@
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Actions;
using DevExpress.ExpressApp.Editors;
using DevExpress.Persistent.Base;
namespace SISBusiness.Module
{
public partial class CriteriaController_VC : ViewController
{
private SingleChoiceAction filteringCriterionAction;
public CriteriaController_VC()
{
filteringCriterionAction = new SingleChoiceAction(
this, "FilteringCriterion", PredefinedCategory.Filters);
filteringCriterionAction.Execute += new DevExpress.ExpressApp.Actions.SingleChoiceActionExecuteEventHandler(this.FilteringCriterionAction_Execute);
TargetViewType = ViewType.ListView;
}
protected override void OnActivated()
{
filteringCriterionAction.Items.Clear();
foreach (FilteringCriterion criterion in ObjectSpace.GetObjects<FilteringCriterion>())
if (criterion.ObjectType.IsAssignableFrom(View.ObjectTypeInfo.Type))
{
filteringCriterionAction.Items.Add(
new ChoiceActionItem(criterion.Description, criterion.Criterion));
}
if (filteringCriterionAction.Items.Count > 0)
filteringCriterionAction.Items.Add(new ChoiceActionItem("All", null));
}
private void FilteringCriterionAction_Execute(
object sender, SingleChoiceActionExecuteEventArgs e)
{
((ListView)View).CollectionSource.BeginUpdateCriteria();
((ListView)View).CollectionSource.Criteria.Clear();
((ListView)View).CollectionSource.Criteria[e.SelectedChoiceActionItem.Caption] =
CriteriaEditorHelper.GetCriteriaOperator(
e.SelectedChoiceActionItem.Data as string, View.ObjectTypeInfo.Type, ObjectSpace);
((ListView)View).CollectionSource.EndUpdateCriteria();
}
}
}