C# WPF UI允许用户构建复杂查询并输出表达式树

C# WPF UI允许用户构建复杂查询并输出表达式树,c#,.net,wpf,vb.net,expression-trees,C#,.net,Wpf,Vb.net,Expression Trees,我将要构建的是一个UI,它允许高级用户构建复杂的查询 这不是小事,但很常见。因此,在我重新发明轮子之前,我想看看是否有人能给我指出一些已经编写好的免费代码,或者发布一些他们自己的代码 必修的: 为了能够指定一些“where子句”类型逻辑,如:Age>21和(Citizen=True或HasGreeCard=True),但不必键入查询代码,相反,使用带有约束选项和动态语法检查的UI(例如,没有未闭合的括号或以运算符结束术语) 我在许多业务线应用程序中都见过这种类型的东西,在这些应用程序中,你可以说

我将要构建的是一个UI,它允许高级用户构建复杂的查询

这不是小事,但很常见。因此,在我重新发明轮子之前,我想看看是否有人能给我指出一些已经编写好的免费代码,或者发布一些他们自己的代码

必修的: 为了能够指定一些“where子句”类型逻辑,如:
Age>21和(Citizen=True或HasGreeCard=True)
,但不必键入查询代码,相反,使用带有约束选项和动态语法检查的UI(例如,没有未闭合的括号或以运算符结束术语)

我在许多业务线应用程序中都见过这种类型的东西,在这些应用程序中,你可以说“添加条件”,然后在UI上显示另一行,如下所示:

 Dropdown of fields     Dropdown of ops (=, >, etc)     Blank box for entry
您可以添加更多的行,这些行都是And'ed,但是您也可以决定添加或添加一些,或者插入括号(显式或通过缩进),而不是一行,插入、删除和移动行,等等

不需要,但很好:
  • WPF-我可以从winforms转换
  • 使用OO结构的可扩展性
  • 验证查询的健全性
  • 发出
    System.Linq.Expressions
    expression树或类似的数据结构
  • 如果它试图执行查询,我不需要它;但我不介意把它拿走
此问题已由DevExpress控件解决。谷歌他们的过滤控制wpf。它可以根据您的需要轻松调整,您可以添加和删除操作,然后将表达式转换为SQL查询或实现ivisitor并执行公式或其他生成…

此问题已由DevExpress控件解决。谷歌他们的过滤控制wpf。它可以很容易地根据您的需要进行调整,您可以添加和删除操作,然后将表达式转换为SQL查询或实现ivisitor,并执行公式或其他生成…

几个月前,我在WPF中做了类似的事情。我四处寻找现有的系统,然后放弃并建立自己的系统。这花了一段时间,但我对结果非常满意:)我和Rachel有相同的经历,没有多少免费的东西可以找到。@Rachel-你的博客上有代码吗?我四处窥探了一下,没有找到它。谢谢@FastAl对不起,不是。代码是为一些定制软件编写的,我不想在没有征得他们同意的情况下发布它。不过我很自豪。。。IT人员可以构建“查询条目”,用户可以将这些条目拖放到SELECT、WHERE或ORDER-BY区域。如果你愿意,我有一个UI的草图:几个月前我在WPF中做了类似的事情。我四处寻找现有的系统,然后放弃并建立自己的系统。这花了一段时间,但我对结果非常满意:)我和Rachel有相同的经历,没有多少免费的东西可以找到。@Rachel-你的博客上有代码吗?我四处窥探了一下,没有找到它。谢谢@FastAl对不起,不是。代码是为一些定制软件编写的,我不想在没有征得他们同意的情况下发布它。不过我很自豪。。。IT人员可以构建“查询条目”,用户可以将这些条目拖放到SELECT、WHERE或ORDER-BY区域。如果您需要,我有一个UI的草图: