Skip to content
Related Articles

Related Articles

jQWidgets jqxDataTable addFilter() Method

Improve Article
Save Article
Like Article
  • Last Updated : 04 Oct, 2021

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 jqxDataTable is used for reading and displaying the data from the HTML Table. This is also used to display data from various data sources like XML, JSON, Array, CSV, or TSV.

The addFilter() method is used to add a new filter into the existing data table.

Syntax:

$("#dataTable").jqxDataTable('addFilter', dataField, filtergroup);

Parameters: This function accepts two parameters that are illustrated below:

  • dataField: This is the specified columns for which the filter is going to be applied. This parameter is of string type.
  • filerGroup: This is the created filter group object.

 

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.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/jqxlistbox.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxdropdownlist.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxdatatable.js”></script>

Example: The below example illustrates the jQWidgets addFilter() method. In this example, the data table contents are being filtered according to the company name “GeeksforGeeks”.

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.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/jqxlistbox.js"></script>
      <script type="text/javascript" 
         src="jqwidgets/jqxdropdownlist.js"></script>
      <script type="text/javascript"
         src="jqwidgets/jqxdatatable.js"></script>
      <script>
         $(document).ready(function () {
             var data = new Array();
             var Employee_Name = [
                 "Ravi", "Sumit",
                 "Amit", "Aakash"];
             var Company = [
                 "GeeksforGeeks",
                 "Amazon", "Google",
                 "GeeksforGeeks"];
             var Designation = [
                 "Content Writer",
                 "Software Engineer",
                 "Data Scientist", "HR"];
           
             for (var i = 0; i < 4; i++) {
                 var row = {};
                 row["Employee_Name"] = Employee_Name[i];
                 row["Company"] = Company[i];
                 row["Designation"] = Designation[i]
                 data[i] = row;
             }
           
             var source = {
                 localData: data,
                 dataType: "array",
                 dataFields: [{
                     name: 'Employee_Name',
                     type: 'string'
                 }, {
                     name: 'Company',
                     type: 'string'
                 }, {
                     name: 'Designation',
                     type: 'string'
                 }]
             };
           
             var dataAdapter =
                 new $.jqx.dataAdapter(source);
             $("#table").jqxDataTable({
                 width: 550,
                 theme: 'energyblue',
                 pageable: true,
                 editable: true,
                 source: dataAdapter,
                 columns: [{
                     text: 'Employee_Name',
                     dataField: 'Employee_Name',
                     width: 200
                 }, {
                     text: 'Company',
                     dataField: 'Company',
                     width: 160
                 }, {
                     text: 'Designation',
                     dataField: 'Designation',
                     width: 190
                 }]
             });
             $("#jqxbutton").jqxButton({
                 theme: 'energyblue',
                 width: 200,
                 height: 30
             });
             $('#jqxbutton').click(function () {
                 var filtertype = 'stringfilter';
                 var filtergroup = new $.jqx.filter();
                 var filter_or_operator = 1;
                 var filtervalue = "GeeksforGeeks";
                 var filtercondition = 'equal';
                 var filter = filtergroup.createfilter(
                     filtertype, filtervalue, filtercondition);
                 filtergroup.addfilter(filter_or_operator, filter);
                 $("#table").jqxDataTable(
                     'addFilter', 'Company', filtergroup
                 );
                 $("#table").jqxDataTable('applyFilters');
             });
         });
      </script>
   </head>
   <body>
      <center>
         <h1 style="color: green;"> GeeksforGeeks </h1>
         <h3> jQWidgets jqxDataTable addFilter() Method </h3>
         <div id="table"></div>
         <input type="button" style="margin: 20px;"
            id="jqxbutton" value="Add new filter" />
      </center>
   </body>
</html>


Output:

Reference: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxdatatable/jquery-datatable-api.htm


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!