ExtJS Grid Search Plugin


This plugin makes any grid searchable by implementing user interface and search logic. User interface consists of the search field where user types the text to search for and the menu with field names to select where to search for the query.

Live Demo

Open in new window

Main Features

  • written from scratch anew, not a quickie port of the old version
  • very easy to deploy
  • remote or local search
  • user selectable fields to search in
  • no configuration options required if used with bottom paging toolbar
  • highly configurable: 32 own configuration options
  • rich API: 21 own methods and 4 properties

Design Goals

I had invented this plugin way back in 2007 when I needed to provide the user with a simple interface for searching larger databases remotely. The plugin should search as-you-type in selected fields.

Later I have added more features based on different user scenarios such as search-on-enter, local search and radio style menu.

For developers, the plugin must be easy to configure, however, advanced configurations must be possible.

Quick Start Guide

  1. Extract the downloaded zip file anywhere in your http server accessible folder
  2. Navigate to http://localhost/where-you-unzipped/saki-grid-search/docs
  3. Follow the instructions in the Getting Started Guide


The package contains two versions:

  • ExtJS 4
  • ExtJS 5

Known Problems



  • make the field selection stateful


Follow me:


I'm a well seasoned developer, consultant and educator of web applications based mainly on Sencha libraries, PHP, MySQL and Node.js. Besides (Apple) computers, I love photography and mountain biking.
Follow me:

Latest posts by Saki (see all)

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Pin on PinterestEmail this to someone


  1. T. Nissen says

    Hi Saki!

    This plugin does not wok if one column is locked. A click on search button shows no columns.

    Best Regards

  2. Johan Stenbeck says

    We are using a proxy solution with Ext.Direct and the store reloads when searching but nothing gets filtered. Any ideas how to configure it?

    constructor: function() {
    this.proxy = {
    type: ‘direct’,
    paramsAsHash: true,
    api: {
    read: clDocumentCS.getOffers
    reader: {
    type: ‘json’,
    root: ‘resultOffers’


  3. Michael Stanley says

    I am tying to use the plugin within a Sencha Architect project but when launching Architect it tells me that the package could not load due to the architect data missing within the package.json. Is there a work around to this?

  4. says

    It is only new package, i.e. package is 1.0.2, file is 1.0.0. Packages can, and they do, consist of many files, each of them has its own version. If, for example, a 2.0.0 file does not need any upgrade for 3.0.0 package, it retains 2.0.0.


  5. Bart Posselt says

    Hi. I’m using the older version of this plugin, and it works great. But I was wondering, can the new version search nested objects? E.g., I have a hasMany relationship – can the children be search as well?

  6. says

    No, it doesn’t. Many side records are in a 1-side record store and that is not a store field so it is not found by the current logic.

    Also, it may not be feasible to search many-side because they may not be (yet) loaded so local search cannot find them. If it is a remote search then it is more server logic that decides on matching records so server could search also on many-side.

  7. hexa ph says

    Good day saki! is php code and sample database is included in this example.. if ever i’m going to buy it?

  8. says

    Yes, both are included. However, the PHP code is of “example quality”, for production you’ll need to amend it. The example uses SQLite database, that is included.

  9. says

    Shortly, good enough for example. There is no or minimal user input checking, the code is not optimized, the code can contain dead (not used anymore) parts, the code may not contain proper error handlers, etc.

    It works, but it is not “production bulletproof”.

We will be happy to hear back from you

Please Login to post a comment