Using the ASP.NET Dynamic Data features introduced by the .NET Framework SP1 on my new project( a short intensive XP'ish, prototyping), I was impressed by the fact that in two days I had all entities up and running in a data-entry application.
So I had something to show my client and the future users. They told me what they liked and how they felt the application should be working.
The first thing was that they wanted to search. Not only Filter (what is made possible out-of-the-box), but search, to my surprise this was not possible!
I went to www.asp.net/dynamicdata and opened the forum. I asked for the functionality. Scott Hunter, the PM on Dynamic Data answered my question an gave me the following url: http://www.codeplex.com/DynamicDataFiltering.
Josh Heyse from Catalyst Software Solutions is responible for this release. It is a dll that holds a DynamicLinqDataSource, DynamicFilterControl and the DynamicFilterForm. You just put it on the page by dragging and dropping.
When we drop the control on the page in the top of the page the following declaration is placed, so the page knows where the dll is containing the control:
1: <%@ Register Assembly="Catalyst.Web.DynamicData" Namespace="Catalyst.Web.DynamicData" TagPrefix="search" %>
Listing 1: Register Assembly
In the DynamicLinqDataSource you specify the
1: <search:DynamicLinqDataSource ID="GridDataSource"
2: ContextTypeName="Avanade.Data.MambooDataContext"
5: </search:DynamicLinqDataSource>
Listing 2: DynamicLinqDataSource
In the FilterTemplate that is a child of the DynamicFilterForm you put the DynamicFilterControl, the DynamicFilterForm functionally acts like a form tag in HTML. The FilterTemplate, is like the ContentTemplate for AJAX;s UpdatePanel or ItemTemplate for GridView.
In the properties of the DynamicFilterControl we declare the DataField (Field belonging to the Table specified in the TableName of the DynamicLinqDataSource) and the FilterMode (Contains, Equals, MultiSelect, Range)
1: <search:DynamicFilterForm DataSourceID="GridDataSource" runat="Server" ID="DynamicFilterForm2">
4: <asp:Label ID="FilterTextLabel"
9: <search:DynamicFilterControl ID="DynamicFilterControl1"
10: DataField="ProductName"
11: FilterMode="Contains"
14: </search:DynamicFilterControl>
17: </search:DynamicFilterForm>
Listing 3: DynamicFilterform containing DynamicFilterControl
Now the user can enter the searchterm ´Dynam´ and find the product ´ASP.NET Dynamic Data´.
Henry cordes
My thoughts exactly...