【问题标题】:applying filters 'like' clause on data returned via subsonic对通过亚音速返回的数据应用过滤器“like”子句
【发布时间】:2008-10-24 14:16:19
【问题描述】:

我有一个数据访问层,它从存储过程返回数据。如果我将此绑定到 asp.net 2.0 中的 gridview 控件,则用户可以选择在该数据选择列表上进行过滤,在该列表中他们可以选择

的条件子句
  • 喜欢

  • =

一旦返回结果,我不想在应用过滤器的情况下再次点击 Db。

如果需要,我可以选择使用 .net 3.5。我看着这个: http://weblogs.asp.net/jgaylord/archive/2006/05/31/Filter-A-GridView-After-The-Initial-Bind.aspx

不确定它的效率。

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您是否在页面上使用 SqlDataSource 控件并绑定到该控件?如果是这样,那么您将不得不换档并进行手动绑定步骤。

    您可能会执行一些操作,例如将 DataTable 存储在 ViewState 或 Session 中,然后将其包装在包含您的过滤器的 DataView 中(或者没有过滤器用于初始页面加载)。然后你只需绑定到 DataView。

    【讨论】:

    • Brian,我没有使用 sqldatasource 对象 gridview.datasource = subsonic.storedprocedureobject.getdataset()
    • 这正是我的意思。可能有一种方法可以使用数据源控件来实现,但最终它们解决了简单的情况,嗯......简单的情况和较难的情况,您不妨自己绑定。
    【解决方案2】:

    SubSonic Collections 具有内置过滤功能。您还可以对它们使用 LINQ 过滤器。我这里没有具体的例子给你,但你基本上可以在亚音速集合上设置 Where 子句并运行一个特定的方法(不记得是哪个,因为我从未使用过这个功能)将过滤器应用于当前集合并返回一个新的。从我所见,原始集合没有被修改,它只是有元数据来过滤它在内存中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-24
      • 1970-01-01
      • 1970-01-01
      • 2015-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多