Introduction
I recently came across a situation that the grid filter condition must be shown as ‘equal’ for any type of filter like string, numeric, etc. So I have done this requirement by using some in-built functionalities of the jQWidget JQX grid. Here I am going to share with you that. I hope you will like it.
To load a grid from a JSON, you can follow the steps as discussed in this article:
Load jQWidget JQX Grid From JSON.
Background
If you are new to JQWidget JQX Grid, please find out
here.
Using the code
I hope you have implemented your grid as shown in that article. Now I guess your page will be looking like this.
- <!DOCTYPE html>
- <html lang="en">
-
- <head>
- <title>Order Filter Conditions In JQX Grid - Sibeesh Passion</title>
- <script src="jquery-1.9.1.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxcore.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxdata.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxbuttons.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxscrollbar.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxlistbox.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxdropdownlist.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxmenu.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.filter.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.sort.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.selection.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.pager.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.columnsresize.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.columnsreorder.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxgrid.export.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxdata.export.js"></script>
- <script type="text/javascript" src="JQXItems/jqwidgets/jqxdatatable.js"></script>
- <link href="JQXItems/jqwidgets/styles/jqx.base.css" rel="stylesheet" />
- <script type="text/javascript">
- $(document).ready(function() {
-
- var data = {
- datatype: "json",
- datafields: [{
- "name": "AreaCode",
- "type": "string"
- }, {
- "name": "Revenue",
- "type": "number"
- }],
-
- url: "jsonData.txt"
- };
- $("#jqxgrid").jqxGrid({
- source: data,
- columns: [{
- "text": "Area Code",
- "dataField": "AreaCode",
- "cellsalign": "left",
- "cellsformat": "d"
- }, {
- "text": "Revenue",
- "dataField": "Revenue",
- "cellsalign": "right",
- "cellsformat": "c2"
- }],
- pageable: true,
- filterable: true,
- sortable: true
- });
- });
- </script>
- </head>
-
- <body class='default'>
- <h2>Order Filter Conditions In JQX Grid - Sibeesh Passion</h2>
- <div id="jqxgrid"></div>
- </body>
-
- </html>
Now let us make sure that the grid is working fine. Please run your project.
Cool, so the grid is loaded. Now have you noticed that the filter condition shows by default is ‘Contains’ ? Now we are going to change that. You might be thinking what kind of requirement is this, but trust me is a client asks, we must do anything at any cost.
Now we are going to add three functions to the grid settings.
- rendered
- updatefilterconditions
- updatefilterpanel
So our grid settings will look as follows.
Here in the updatefilterpanel we are setting the index for the filter dropdown. And inupdatefilterconditions and rendered functions we are applying the localization according to our requirement. Now save the changes and run your grid again, you can see the filter option ‘equal’ will be loaded as default.
That’s all we have done this requirement of ordering the jQWidget JQX grid filter conditions.
Conclusion
Did I miss anything that you may think which is needed? Have you ever wanted to do this requirement? Did you try jQWidget yet? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.
Your turn. What do you think?
If you have any questions, then please mention it in the comments section.