【问题标题】:Devexpress XtraReport - set query on filterstringDevexpress XtraReport - 在过滤器字符串上设置查询
【发布时间】:2017-11-08 16:11:57
【问题描述】:

我有一个 DexExpress XtraReport,我想在以下条件下设置过滤器字符串: 如果用户没有选择任何参数,报告应该显示一个月的数据。 如果用户选择 driver and lorry No,则报告应显示该月的 driver 和 lorry。

我应该如何设置过滤器字符串以获得上面的结果? Devexpress XtraReport filterstring screenshot

【问题讨论】:

    标签: devexpress xtrareport


    【解决方案1】:

    浏览文档:XtraReportBase.FilterString Property

    您可以在以下事件处理程序中设置此属性。

    1. DataSourceDemanded 事件。
    2. 报告的XRControl.BeforePrint 事件。

    您还可以处理特定的XRControl.BeforePrint 事件 报告带(例如,DetailBand)。在此事件处理程序中,您可以 使用 GetCurrentRow 访问当前数据行和 GetCurrentColumnValue 方法并使用 e.Cancel 属性在特定条件下取消打印带区。

    【讨论】:

    • 嗨,尼兰詹。我使用 DataSourceDemanded 自定义了 sql 数据源。但是,为什么 SqlDataSource 为查询返回 null? CustomSqlQuery 查询 = this.sqlDataSource1.Queries[1] as CustomSqlQuery;当我调试时,我看到查询返回 null。我找到了一篇文章devexpress.com/Support/Center/Question/Details/T249676/… 但我不知道在后一种情况下 Queries 集合的第一个元素没有 CustomSqlQuery 类型。如何确保有 CustomSqlQuery 类型?
    • 为什么要显示一些导致问题的代码。您可以在 Queries 集合中检查查询类型,也可以在分配了数据源属性的报表或带区的 BeforePrint 事件中设置 filterstring 属性。
    • 抱歉回复晚了。我通过将我自己的 sql 查询放在查询编辑器中解决了这个问题。现在 xtraReport 可以识别 CustomSqlQuery。感谢您的帮助!
    猜你喜欢
    • 2019-02-13
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 2011-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多