以下是该方案:
我正在使用一个数据库表,该表在其中一个列中存储XML字符串。此XML包含我正在处理有关使用Crystal Reports的报告的重要数据。为此,我创建了一个对象来表示XML字符串中的相关数据,并将这些对象的列表绑定到我的报表查看器。我已经完成了一些使用Crystal Reports设置使用其本机控件进行过滤和排序的工作,但结果并不足以处理我希望能够进行的过滤。
我希望有一种UI控件允许用户构建可用于过滤我的对象列表的表达式。然后,可以使用相关对象以编程方式将列表绑定到报表查看器。
澄清一个我想做的事情的例子。让用户能够选择在9 - 10到12 - 2或4到5之间发生的给定产品的所有事务。基本上,使用对象中任何属性的逻辑操作进行查询控制。
有关如何完成此任务的任何想法或建议?想知道是否有人知道任何包含这种功能的工具。
答案 0 :(得分:2)
基于文本的查询很少用于良好的用户体验。它们更常用于一种软件,以人类可读和机器可读的方式与另一种软件交谈。
您可能最好使用UI为您构建查询。例如,您可以创建一个类来表示约束的类型,并为ListBox中的每个查询维护一个约束列表。然后,用户可以根据需要从约束列表中添加和删除约束。您可以将ListBox的选定项绑定到约束构建器控件,在那里他们可以选择约束类型(字符串匹配,日期范围等)。