8

我应该如何向动态数据 Web 应用程序添加额外的搜索/过滤条件?

我使用 Northwind 数据库创建了一个动态数据 Web 应用程序,并且我正在为员工表使用自定义页面(基于 ListDetails.aspx 页面模板)。我想向页面添加额外的搜索/过滤器/位置参数。默认情况下,where 参数集合是基于 FilterRepeater 控件动态创建的,该控件也是基于 Employee Table 具有的“外键”关系动态创建的。

在尝试添加其他搜索条件时,我已绑定到 GridView 的 LinqDataSource 的 Selecting 事件,并尝试将其他项目添加到 LinqDataSourceSelectEventArgs 的 WhereParameters 集合中。

问题是我无法指定需要执行哪种类型的比较。WhereParameters 集合只接受一个字符串和一个对象,但不接受如何比较它们。我真正想做的是添加到谓词代表的集合中......

我应该如何向此页面添加其他搜索条件?通过属性应用于 LINQ To SQL 实体(如果是,如何)?如果条件/标准不是基于实体本身,在这种情况下我将如何添加到搜索条件中?

亚伦霍夫曼

4

2 回答 2

7

如果您想将自己的标准添加到 DD 未自动提供给您的应用程序中,则必须使用DynamicDataFiltering来执行此操作。DynamicData 本身目前不支持自定义过滤器和搜索。实施起来并不难。Josh Heyes 在这方面做得很好。

如果那不是您想要的,请回来

编辑:另外,如果您只是打算对显示的数据进行进一步过滤,您可以在没有 Josh 过滤项目的情况下在 Page_Init 中编写类似这样的内容:

GridDataSource.WhereParameters.Add(new Parameter("it.myColumn", TypeCode.Int32, myValue));

执行“in”或“contains”比这要复杂一些,并且需要 DynamicDataFiltering。

于 2009-04-09T16:58:25.560 回答
6

以下是 ASP.NET 4.0 中的工作原理:http ://www.olegsych.com/2010/07/understanding-aspnet-dynamic-data-filter-templates/

于 2010-07-29T12:02:00.787 回答