JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojox/grid/resources/claroGrid.css">
<body class="claro">
    	<h1 class="title" tabindex="0" onfocus="console.log('focus a'),this.style.color='red';" onblur="console.log('blur a'),this.style.color='black';">
		dojox.grid.EnhancedGrid - Search</h1>

    <div id="gridContainer">
        <div id="grid" dojoType="dojox.grid.EnhancedGrid" store="test_store[0]" structure="layout" plugins="plugins"></div>
    </div>
    <br/>
    <br />Note: Use "/.../" for Regular Expressions. Wildcards (* and ?) are available when not using "/.../".
    <hr />
    <div>Search all columns for
        <input id="allcolumnsInput" type="text" size="30" value="/void/i" />
        <button onclick="onSearchAll(dojo.byId('allcolumnsInput').value)">Go =></button>	<span id="result1"></span>

        <hr />Search with a query object (extends the functionality of the standard store query).
        <table>
            <thead>
                <tr>
                    <th>Column</th>
                    <th>Query String or Regular Expression</th>
                    <th></th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>id</td>
                    <td>
                        <input name="id" class="searchInput" type="text" size="30" />
                    </td>
                    <td rowspan="11" align="center" valign="center" style="padding-left: 50px;">
                        <button onclick="onSearch()">Search =></button>	<span id="result2"></span>

                    </td>
                </tr>
                <tr>
                    <td>Genre</td>
                    <td>
                        <input name="Genre" class="searchInput" type="text" size="30" />
                    </td>
                </tr>
                <tr>
                  ...

JavaScript

dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dojox.grid.EnhancedGrid");
dojo.require("dojox.grid.enhanced.plugins.Search");
dojo.require("dojo.parser");

// some sample data
var data = {
    identifier: 'id',
    label: 'id',
    items: []
};

//^(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)\t(.*)$
//		{"Checked": "True", "Genre":"$1",	"Artist":"$2",	"Year":$3,	"Album":"$4",	"Name":"$5",	"Length":"$6",	"Track":$7,	"Composer":"$8",	"Download Date":"$9",	"Last Played":"$10"},

var data_list = [{
    "Heard": true,
    "Checked": "True",
    "Genre": "Easy Listening",
    "Artist": "Bette Midler",
    "Year": 2003,
    "Album": "Bette Midler Sings the Rosemary Clooney Songbook",
    "Name": "Hey There",
    "Length": "03:31",
    "Track": 4,
    "Composer": "Ross, Jerry 1926-1956 -w Adler, Richard 1921-",
    "Download Date": "1923/4/9",
    "Last Played": "04:32:49"
}, {
    "Heard": true,
    "Checked": "True",
    "Genre": "Classic Rock",
    "Artist": "Jimi Hendrix",
    "Year": 1993,
    "Album": "Are You Experienced",
    "Name": "Love Or Confusion",
    "Length": "03:15",
    "Track": 4,
    "Composer": "Jimi Hendrix",
    "Download Date": "1947/12/6",
    "Last Played": "03:47:49"
}, {
    "Heard": true,
    "Checked": "True",
    "Genre": "Jazz",
    "Artist": "Andy Narell",
    "Year": 1992,
    "Album": "Down the Road",
    "Name": "Sugar Street",
    "Length": "07:00",
    "Track": 8,
    "Composer": "Andy Narell",
    "Download Date": "1906/3/22",
    "Last Played": "21:56:15"
}, {
    "Heard": true,
    "Checked": "True",
    "Genre": "Classic Rock",
    "Artist": "Jimi Hendrix",
    "Year": 1968,
    "Album": "Electric Ladyland",
    "Name": "Long Hot Summer Night",
    "Length": "03:27",
    "Track": 6,
    "Composer": "Jimi Hendrix",
    "Download Date": "1902/4/7",
    "Last Played": "16:58:08"
}, {
    "Heard": true,
    "Checked": "True",
    "Genre": "Classical",
    "Artist": "Andres Segovia",
    "Year": 2004,
   ...