代码之家  ›  专栏  ›  技术社区  ›  Ladislav Mrnka

web应用中的复杂过滤

  •  4
  • Ladislav Mrnka  · 技术社区  · 14 年前

    我需要估计(可能以后再构建)复杂的过滤器ASP.NETWebForms应用程序。过滤器必须主要基于ASP.NETAJAX或jQuery的高交互性。过滤器必须允许过滤具有复杂逻辑条件(and、or、大括号)和多个运算符的数据。用户必须能够保存过滤器的查询,并在以后使用它(加载它)(服务器逻辑)。此外,关于in算子的讨论也在进行中。

    你做过那样的事吗?你能分享一些经验如何最好,最快地建立这样的组件?我是否需要开发组件,或者是否有任何现有的组件至少具有一些功能,并且可以扩展以提供其他功能?因为我对客户端开发不是很有经验,所以我不知道从头开始开发这样的组件有多复杂。

    另一种可能性是定义一些元查询语言,并允许用户将查询写入一些支持构建逻辑表达式的查询文本框。

    我已经检查了DevExpress和Telerik工具箱中的可用控件:

    DevExpress :

    • 优点:非常好的可视化,快速。我们可能有许可证。

    Telerik :

    • 优点:不加网格,看起来像是单独控制。
    • 缺点:我没有找到文档-我不确定可扩展性,但代码似乎使用了一些数据绑定控件作为操作数的源=问题。我不喜欢这种想象。演示真的很慢。我们没有Telerik许可证。
    3 回复  |  直到 14 年前
        1
  •  2
  •   slugster Joey Cai    14 年前

    如果你保持你的UI非常松散的耦合,你可以用任何你想要的方式构建它,然后获取用户的输入并从中创建网格过滤器,然后将这些过滤器添加到网格中。这还意味着,如果您决定以后交换网格,您只需更改最少的代码(如果您决定试用组件,并且需要针对两个网格运行尽可能相似的代码,这种方法也会有所帮助)。

    -在对这两个组件集进行了广泛的过滤之后,我想说一件事:我们搬到Telerik是有原因的。其实原因很多。我们没有后悔地回首往事。此外,Telerik的人非常善于帮助扩展和做他们的控制时髦的东西,而DevExpress的人往往采取的态度 “你为什么要扩大我们的控制?它们不是已经很完美了吗?毕竟,在开发者大会上,我们赢得了所有的人气竞赛。” . 你真的需要在他们之间做一个试验,然后你承诺一个或另一个。祝你好运:)

        2
  •  1
  •   J.R.    14 年前

    我们已经使用Telerik RadControls一段时间了,我可以说我们对他们提供的功能感到满意。

    http://www.telerik.com/help/aspnet-ajax/filter-overview.html

    以下是我们在应用程序中使用RadFilter的一些原因: -它可以保存/加载表达式 -它允许您为构建表达式编写自定义sql

    http://demos.devexpress.com/ASPxGridViewDemos/Filtering/FilterBuilder.aspx )也一样。

        3
  •  0
  •   DevExpress Team    14 年前

    我代表DevExpress的支持团队回答您的问题。事实上,我们经常问客户,为什么他们想用我们的控件做这个或那个事情。你可能认为这是一种减缓解决问题进程的方法。然而,在我看来,这种方法是解决问题最快的方法。坐在我们的开发人员身边,整天与我们的控件打交道,我们通常知道世界上任何人都知道的关于控件的事情。因此,经常会出现这样的情况:我们建议一个与原始任务完全不同的解决方案,而且效果更好,更可靠。

    祝你好运:)