當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


jQWidgets jqxDataTable addFilter()用法及代碼示例

jQWidgets 是一個 JavaScript 框架,用於為 PC 和移動設備製作基於 Web 的應用程序。它是一個非常強大、經過優化、獨立於平台且得到廣泛支持的框架。 jqxDataTable 用於讀取和顯示 HTML 表中的數據。這也用於顯示來自各種數據源(如 XML、JSON、Array、CSV 或 TSV)的數據。

addFilter() 方法用於將新過濾器添加到現有數據表中。

用法:

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

參數:此函數接受兩個參數,如下所示:



  • dataField:這是要應用過濾器的指定列。該參數為字符串類型。
  • filerGroup:這是創建的過濾器組對象。

鏈接文件:從給定的鏈接下載 jQWidgets。在 HTML 文件中,找到下載文件夾中的腳本文件。

<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>

例:下麵的示例說明了 jQWidgets addFilter() 方法。在本例中,數據表內容根據公司名稱 “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>

輸出:

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




相關用法


注:本文由純淨天空篩選整理自Kanchan_Ray大神的英文原創作品 jQWidgets jqxDataTable addFilter() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。