void showReportWithParameters_Execute(object sender, PopupWindowShowActionExecuteEventArgs e) { var parameters = e.PopupWindow.View.CurrentObject as ReportParameters; CriteriaOperator criteria = new BinaryOperator("Deadline", parameters.DeadlineBefore, BinaryOperatorType.Less); if (!string.IsNullOrEmpty(parameters.SubjectContains)) { criteria = GroupOperator.Combine(GroupOperatorType.And, criteria, CriteriaOperator.Parse("Contains([Subject], ?)", parameters.SubjectContains)); } var dataSource = Application.CreateObjectSpace().CreateCollection(typeof(Task), criteria); var report = new TaskReport(); report.DataSource = dataSource; report.ShowPreview(); }