Open In App

jQWidgets jqxDataTable addFilter() Method

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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



Last Updated : 04 Oct, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads