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


jQWidgets jqxGrid getfilterinformation()用法及代碼示例


jQWidgets是一個 JavaScript 框架,用於為 PC 和移動設備製作基於 Web 的應用程序。它是一個非常強大、優化、獨立於平台且得到廣泛支持的框架。這江青網格用於說明以表格形式顯示數據的 jQuery 小部件。此外,它還全麵支持數據連接、分頁、分組、排序、過濾和編輯。

getfilterinformation()方法用於返回有關顯示的 jqxGrid 過濾器的詳細信息。換句話說,它返回指定過濾器的數組。但是,從此方法返回的詳細信息涉及篩選器對象以及篩選器列。它沒有參數和返回值None

這裏,數組中的每個過濾器都擁有 below-given 字段:

  • filter:它是過濾器的一個對象,可以容納一個或多個過濾器。

過濾器對象的屬性和方法:

  • getfilters:它是一個方法,當調用它時,會返回過濾器對象中每個過濾器的數組。
  • value:它是過濾器對象的屬性。它指定過濾器的值。
  • id:該屬性指定過濾器的 ID。
  • condition:該屬性指定過濾器的條件。其中,字符串過濾器的值為 'EMPTY'、'NOT_EMPTY'、'CONTAINS'、'CONTAINS_CASE_SENSITIVE'、'DOES_NOT_CONTAIN'、'DOES_NOT_CONTAIN_CASE_SENSITIVE'、'STARTS_WITH' 、“STARTS_WITH_CASE_SENSITIVE”、“ENDS_WITH”、“ENDS_WITH_CASE_SENSITIVE”、“等於”、“EQUAL_CASE_SENSITIVE”、“NULL”、“NOT_NULL”。日期和數字過濾器的值為 'EQUAL'、'NOT_EQUAL'、'LESS_THAN'、'LESS_THAN_OR_EQUAL'、'GREATER_THAN'、'GREATER_THAN_OR_EQUAL'、'NULL'、' NOT_NULL'。布爾過濾器的值為:‘EQUAL’、‘NOT_EQUAL’。
  • type:這是過濾器的類型。可能的值為‘stringfilter’, ‘numericfilter’, ‘booleanfilter’ 或‘datefilter’。
  • operator:它是指定指定組中的過濾器之間的鍵的運算符。可能的值為‘and’ 或‘or’。
  • datafield:它是指定列的數據字段。
  • displayfield:指定列的顯示字段。

用法:

var info = $('Selector').jqxGrid('getfilterinformation');

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

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

示例 1:下麵的例子說明了jqxGridgetfilterinformation()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 getfilterinformation()  
            method 
        </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, 
                height: "260px", 
                width: "240px", 
                columns: [ 
                    { 
                        text: "Subject Name", 
                        datafield: "subjectnames", 
                        width: "120px", 
                    }, 
                    { 
                        text: "Page No.", 
                        datafield: "pagenumber", 
                        width: "120px", 
                    }, 
                ], 
            }); 
  
            $("#jqxBtn").jqxButton({ 
                width: "180px", 
                height: "30px", 
            }); 
            var fg = new $.jqx.filter(); 
            $("#jqxBtn").on("click", function () { 
                $("#jqxg").jqxGrid('addfilter', 'subjectnames', fg); 
                $("#jqxg").jqxGrid('applyfilters'); 
                var gfi = $("#jqxg").jqxGrid('getfilterinformation'); 
                var detail = ""; 
                for (var j = 0; j < gfi.length; j++) { 
                    var Fg = gfi[j]; 
                    detail += Fg.filtercolumn; 
                } 
                $("#log").html("Filtered column's name: " + detail); 
            }); 
        }); 
    </script> 
</body> 
</html>

輸出:

示例 2:下麵是另一個說明 jqxGrid 的示例getfilterinformation()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 getfilterinformation()  
            method 
        </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, 
                height: "230px", 
                width: "240px", 
                columns: [ 
                    { 
                        text: "Subject Name", 
                        datafield: "subjectnames", 
                        width: "120px", 
                    }, 
                    { 
                        text: "Page No.", 
                        datafield: "pagenumber", 
                        width: "120px", 
                    }, 
                ], 
            }); 
  
            $("#jqxBtn").jqxButton({ 
                width: "180px", 
                height: "30px", 
            }); 
            var add_filter = function () { 
                var fg = new $.jqx.filter(); 
                var val = 'ja'; 
                var conditn = 'contains'; 
                var opratr = 2; 
                var fltr = 
                    fg.createfilter('stringfilter', val, conditn); 
                fg.addfilter(opratr, fltr); 
                $("#jqxg").jqxGrid('addfilter', 'subjectnames', fg); 
                $("#jqxg").jqxGrid('applyfilters'); 
            } 
  
            $("#jqxBtn").on("click", function () { 
                add_filter(); 
                var gfi = $("#jqxg").jqxGrid('getfilterinformation'); 
                var details = ""; 
                for (var j = 0; j < gfi.length; j++) { 
                    var Fg = gfi[j]; 
                    details += Fg.filtercolumn; 
                    var f = Fg.filter.getfilters(); 
                    for (var k = 0; k < f.length; k++) { 
                        details += ", \nValue to be filtered: " + f[k].value; 
                        details += ", \nCondition applied: " + f[k].condition; 
                        details += ", \nOperator used: " + f[k].operator; 
                    } 
                } 
                $("#log").html("Column to be filtered: " + details); 
            }); 
        }); 
    </script> 
</body> 
</html>

輸出:

參考: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-api.htm?search=



相關用法


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