当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。