Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / web / ASP.NET

GridView Multiple Filter AJAX Control

4.93/5 (19 votes)
14 Jun 2008CPOL1 min read 1   6.2K  
An AJAX control to filter data in a GridView control by adding filters to the GridView at runtime.

FilterDemo1.PNG

FilterDemo2.PNG

FilterDemo3.PNG

Introduction

This AJAX control enables the user to filter data within any column inside a GridView. The user can add multiple filters and can delete existing ones too.

Source Code and Video

I have uploaded the source code and a Flash video on how to use the control inside your web application, on my blog. To run the video, you have to have the Flash plug-in in your browser. Drag and drop the SWF file inside your browser and it will run: http://tawatech.blogspot.com/2008/06/aspnet-datagridview-ajax-data-filter.html.

Background

I was looking for an ASP.NET 2.0 custom control that enables the user to filter data in a GridView control by adding filters to the GridView. Similar controls can be found in applications such as Microsoft BI Studio. So I decided to develop a web based control that will do such thing.

Using the Code

To use the control is very straightforward:

  1. Add web.config AJAX tags to enable AJAX in your website:
  2. Image 4

    Image 5

    Image 6

  3. Drag and drop the filter control in your page. (Note: the control already has the AJAX UpdatePanel and ScriptManager, you don't have to create a new UpdatePanel for the control.)

    ControlPage.png

  4. Drag and drop an UpdatePanel for the GridView.
  5. Place the GridView inside the AJAX UpdatePanel and specify the SQLDataSource for it.
  6. TestPage.png

    Note: The control already has a ScriptManager, so you don't have to create one in your ASPX page.

  7. On Page_Load, specify the DataSource and DataColumns for the filter control and specify the event handler method that will be called after adding or removing the filter.
  8. Page_Load.png

  9. Calling the control method FilterDataSource() in the event handler tableFilter_OnRefresh() will apply the filter on the SqlDataSource1 that you have assigned to the GridView.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)