jQWidgets jqxGrid filter Property
jQWidgets is a JavaScript framework for making web-based applications for PC and mobile devices. It is a very powerful, optimized, platform-independent, and widely supported framework. The jqxGrid is used to illustrate a jQuery widget that shows data in tabular form. Moreover, it renders full support for connecting with data, as well as paging, grouping, sorting, filtering, and editing.
The filter property is a callback function that is used to customize filtering. It is used to override the filtering that is inbuilt. This property is invoked whenever the grid is filtered. It renders a value of type boolean or returns “undefined”. It is of function type and its default value is “null”.
Syntax:
- Set the filter property:
$('Selector').jqxGrid({ filter: null });
- Return the filter property:
var filter = $('Selector').jqxGrid('filter');
The values that this function can hold are as follows.
- cellValue: It is the present value of the cell.
- rowData: It is a JSON object that holds the data of the present row.
- dataField: It is the data field of the filter column.
- filterGroup: It is the group of the stated filters.
- defaultFilterResult: It is the stated default result of the filter.
Linked Files: Download jQWidgets from the given link. In the HTML file, locate the script files in the downloaded folder.
<link rel=”stylesheet” href=”jqwidgets/styles/jqx.base.css” type=”text/css” />
<script type=”text/javascript” src=”scripts/jquery-1.11.1.min.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxcore.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqx-all.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxdata.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxbuttons.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxscrollbar.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxmenu.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxgrid.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxgrid.selection.js”></script>
Example 1: The below example illustrates the jqxGrid filter property in jQWidgets.
HTML
<!DOCTYPE html> < html lang = "en" > < head > < link rel = "stylesheet" href = "jqwidgets/styles/jqx.base.css" type = "text/css" /> < script type = "text/javascript" src = "scripts/jquery-1.11.1.min.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxcore.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxdata.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxbuttons.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxscrollbar.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxmenu.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxgrid.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxgrid.selection.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxgrid.columnsresize.js" > </ script > </ head > < body > < center > < h1 style = "color: green" > GeeksforGeeks </ h1 > < h3 > jQWidgets jqxGrid filter property </ h3 >< br /> < div id = "jqxg" ></ div > < div id = "log" ></ div > </ center > < script type = "text/javascript" > $(document).ready(function () { var d = new Array(); var subjectNames = ["C++", "Scala", "Java", "C", "R", "JavaScript"]; var pageNumber = ["7", "8", "12", "11", "10", "19"]; for (var j = 0; j < 50 ; j++) { var r = {}; r["subjectnames"] = subjectNames[(Math.floor(Math.random() * subjectNames.length))]; r["pagenumber"] = pageNumber[(Math.floor(Math.random() * pageNumber.length))]; d[j] = r; } var src = { localdata: d, datatype: "array", }; var data_Adapter = new $.jqx.dataAdapter(src); $("#jqxg").jqxGrid({ source: data_Adapter, theme: 'energyblue', filterable: true, filter: function () { $("#log").text("Filtered!") }, height: "240px", width: "270px", columns: [ { text: "Subject Name", columntype: "textbox", filtertype: "input", datafield: "subjectnames", width: "90px", }, { text: "Page No.", datafield: "pagenumber", filtertype: "checkedlist", width: "90px", }, { text: "Exam", datafield: "exam", columntype: "checkbox", filtertype: "bool", width: "90px", }, ], }); }); </script> </ body > </ html > |
Output:

Example 2: Below is another example that illustrates the jqxGrid filter property in jQWidgets by setting its value as “null”.
HTML
<!DOCTYPE html> < html lang = "en" > < head > < link rel = "stylesheet" href = "jqwidgets/styles/jqx.base.css" type = "text/css" /> < script type = "text/javascript" src = "scripts/jquery-1.11.1.min.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxcore.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxdata.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxbuttons.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxscrollbar.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxmenu.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxgrid.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxgrid.selection.js" > </ script > < script type = "text/javascript" src = "jqwidgets/jqxgrid.columnsresize.js" > </ script > </ head > < body > < center > < h1 style = "color: green" > GeeksforGeeks </ h1 > < h3 > jQWidgets jqxGrid filter property </ h3 >< br /> < div id = "jqxg" ></ div > < div > < input type = "button" id = "jqxBtn" style = "margin-top:25px" value = "Click here" /> </ div > < div id = "log" ></ div > </ center > < script type = "text/javascript" > $(document).ready(function () { var d = new Array(); var subjectNames = ["C++", "Scala", "Java", "C", "R", "JavaScript"]; var pageNumber = ["7", "8", "12", "11", "10", "19"]; for (var j = 0; j < 50 ; j++) { var r = {}; r["subjectnames"] = subjectNames[(Math.floor(Math.random() * subjectNames.length))]; r["pagenumber"] = pageNumber[(Math.floor(Math.random() * pageNumber.length))]; d[j] = r; } var src = { localdata: d, datatype: "array", }; var data_Adapter = new $.jqx.dataAdapter(src); $("#jqxg").jqxGrid({ source: data_Adapter, theme: 'energyblue', filterable: true, filter: null, height: "240px", width: "270px", columns: [ { text: "Subject Name", columntype: "textbox", filtertype: "input", datafield: "subjectnames", width: "90px", }, { text: "Page No.", datafield: "pagenumber", filtertype: "checkedlist", width: "90px", }, { text: "Exam", datafield: "exam", columntype: "checkbox", filtertype: "bool", width: "90px", }, ], }); $("#jqxBtn").jqxButton({ width: "180px", height: "30px", }); $("#jqxBtn").on("click", function () { var f = $('#jqxg').jqxGrid('filter'); $("#log").text(f) }); }); </script> </ body > </ html > |
Output:

Please Login to comment...