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


jQWidgets jqxGrid filter属性用法及代码示例


jQWidgets是一个 JavaScript 框架,用于为 PC 和移动设备制作基于 Web 的应用程序。它是一个非常强大、优化、独立于平台且得到广泛支持的框架。这江青网格用于说明以表格形式显示数据的 jQuery 小部件。此外,它还全面支持数据连接、分页、分组、排序、过滤和编辑。

筛选property是一个回调函数,用于自定义过滤。它用于覆盖内置的过滤。每当过滤网格时都会调用此属性。它呈现布尔类型的值或返回“undefined”。它是函数类型,默认值为“null”。

用法:

  • 设置筛选 属性:
$('Selector').jqxGrid({ filter: null });
  • 返回筛选属性:
var filter = $('Selector').jqxGrid('filter');

该函数可以保存的值如下。

  • cellValue:它是单元格的现值。
  • rowData:它是一个JSON 对象保存当前行的数据。
  • dataField:它是过滤列的数据字段。
  • filterGroup:它是指定过滤器的组。
  • defaultFilterResult:这是过滤器规定的默认结果。

链接文件:下载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:下面的例子说明了jqxGrid筛选 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 filter property 
        </h3><br /> 
        <div id="jqxg"></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, 
                filter: function () { 
                    $("#log").text("Filtered!") 
                }, 
                height: "240px", 
                width: "270px", 
                columns: [ 
                    { 
                        text: "Subject Name", 
                        columntype: "textbox", 
                        filtertype: "input", 
                        datafield: "subjectnames", 
                        width: "90px", 
                    }, 
                    { 
                        text: "Page No.", 
                        datafield: "pagenumber", 
                        filtertype: "checkedlist", 
                        width: "90px", 
                    }, 
                    { 
                        text: "Exam", 
                        datafield: "exam", 
                        columntype: "checkbox", 
                        filtertype: "bool", 
                        width: "90px", 
                    }, 
                ], 
            }); 
        }); 
    </script> 
</body> 
</html>

输出:

示例 2:下面是另一个说明 jqxGrid 的示例筛选 jQWidgets 中的属性,将其值设置为 “null”。

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 filter property 
        </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, 
                filter: null, 
                height: "240px", 
                width: "270px", 
                columns: [ 
                    { 
                        text: "Subject Name", 
                        columntype: "textbox", 
                        filtertype: "input", 
                        datafield: "subjectnames", 
                        width: "90px", 
                    }, 
                    { 
                        text: "Page No.", 
                        datafield: "pagenumber", 
                        filtertype: "checkedlist", 
                        width: "90px", 
                    }, 
                    { 
                        text: "Exam", 
                        datafield: "exam", 
                        columntype: "checkbox", 
                        filtertype: "bool", 
                        width: "90px", 
                    }, 
                ], 
            }); 
  
            $("#jqxBtn").jqxButton({ 
                width: "180px", 
                height: "30px", 
            }); 
            $("#jqxBtn").on("click", function () { 
                var f = $('#jqxg').jqxGrid('filter'); 
                $("#log").text(f) 
            }); 
        }); 
    </script> 
</body> 
</html>

输出:

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



相关用法


注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 jQWidgets jqxGrid filter Property。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。