jQWidgets jqxDataTable filterMode属性

以下是关于“jQWidgets jqxDataTable filterMode属性”的完整攻略,包含两个示例说明:

简介

jqx 控件提供了 filterMode 属性,用于设置表格的筛选模式。通过设置 filterMode 属性,我们可以控制表格的筛选方式,以适应不同的需求。

详细攻略

以下是 jqxDataTable 控件的 filterMode 属性的详细攻略:

filterMode属性

filterMode 属性是 jqxDataTable 控件的一个属性,用于设置表格的筛选模式。该属性包含以下几个选项:

  • default:默认的筛选模式,支持文本、数字和日期等类型的筛选。
  • advanced:高级筛选模式,支持多个条件的组合筛选。
  • excel:Excel 风格的筛选模式,支持多个条件的组合筛选,并提供了更多的筛选选项。

示例1

在此示例中,我们创建了 jqxDataTable 控件,并使用 filterMode 属性来设置表格的筛选模式为 default

<div id="jqxdatatable"></div>
<script>
    $(document).ready(function () {
        // 创建 jqxDataTable 控件
        var data = [
            { name: '张三', age: 20, gender: '男', address: '北京市' },
            { name: '李四', age: 25, gender: '女', address: '上海市' },
            { name: '王五', age: 30, gender: '男', address: '州市' },
            { name: '赵六', age: 35, gender: '女', address: '深圳市' },
            { name: '钱七', age:40, gender: '男', address: '杭州市' },
            { name: '孙八', age: 45, gender: '女', address: '南京市' },
            { name: '周九', age: 50, gender: '男', address: '成都市' },
            { name: '吴十', age: 55, gender: '女', address: '重庆市' }
        ];
        var source = {
            datatype: 'json',
            datafields: [
                { name: 'name', type: 'string' },
                { name: 'age', type: 'number' },
                { name: 'gender', type: 'string' },
                { name: 'address', type: 'string' }
            ],
            localdata: data,
            totalrecords: data.length
        };
        var dataAdapter = new $.jqx.dataAdapter(source);
        $("#jqxdatatable").jqxDataTable({
            columns: [
                { text: '姓名', datafield: 'name' },
                { text: '年龄', datafield: 'age' },
                { text: '性别', datafield: 'gender' },
                { text: '地址', datafield: 'address' }
            ],
            source: dataAdapter,
            filterMode: 'default'
        });
    });
</script>

在上述代码中,我们创建了一个 jqxDataTable 控件,并使用 filterMode 属性来设置表格的筛选模式为 default

示例2

在此示例中,我们创建了一个 jqx 控件,并使用 filterMode 属性来设置表格的筛选模式为 excel。在表格的 filter 事件中,我们使用 getFilterInformation() 方法来获取筛选信息,并将其显示在另一个 jqxDataTable 控件中。

<div id="jqxdatatable"></div>
<div="result"></div>
<script>
    $(document).ready(function () {
        // 创建 jqxDataTable 控件
        var data = [
            { name: '张三', age: 20, gender: '男', address: '北京市' },
            { name: '李四', age: 25, gender: '女', address: '上海市' },
            { name: '王五', age: 30, gender: '男', address: '州市' },
            { name: '赵六', age: 35, gender: '女', address: '深圳市' },
            { name: '钱七', age: 40, gender: '男', address: '杭州市' },
            { name: '孙八', age: 45, gender: '女', address: '南市' },
            { name: '周九', age: 50, gender: '男', address: '成都市' },
            { name: '吴十', age: 55, gender: '女', address '重庆' }
        ];
        var source = {
            datatype: 'json',
            datafields: [
                { name: 'name', type: 'string' },
                { name: 'age', type: 'number' },
                { name: 'gender', type: 'string' },
                { name: 'address', type: 'string' }
            ],
            localdata: data,
            totalrecords: data.length
        };
        var dataAdapter = new $.jqx.dataAdapter(source);
        $("#jqxdatatable").jqxDataTable({
            columns: [
                { text: '姓名', datafield: 'name' },
                { text: '年龄', datafield: 'age' },
                { text: '性别', datafield: 'gender' },
                { text: '地址', datafield: 'address' }
            ],
            source: dataAdapter,
            filterMode: 'excel',
            filter: function () {
                var filterInfo = $("#jqxdatatable").jqxDataTable('getFilterInformation');
                var resultData = data.filter(function (item) {
                    var match = true;
                    for (var i = 0; i < filterInfo.length; i++) {
                        var filter = filterInfo[i];
                        if (filter.condition === 'CONTAINS_CASE_SENSITIVE') {
                            match = match && item[filter.datafield].toString().indexOf(filter.value) !== -1;
                        } else if (filter.condition === 'CONTAINS_CASE_INSENSITIVE') {
                            match = match && item[filter.datafield].toString().toLowerCase().indexOf(filter.value.toLowerCase()) !== -1;
                        } else if (filter.condition === 'DOES_NOT_CONTAIN_CASE_SENSITIVE') {
                            match = match && item[filter.datafield].toString().indexOf(filter.value) === -1;
                        } else if (filter.condition === 'DOES_NOT_CONTAIN_CASE_INSENSITIVE') {
                            match = match && item[filter.datafield].toString().toLowerCase().indexOf(filter.value.toLowerCase()) === -1;
                        } else if (filter.condition === 'EQUAL') {
                            match = match && item[filter.datafield] == filter.value;
                        } else if (filter.condition === 'NOT_EQUAL') {
                            match = match && item[filter.datafield] != filter.value;
                        } else if (filter.condition === 'GREATER_THAN') {
                            match = match && item[filter.datafield] > filter.value;
                        } else if (filter.condition === 'LESS_THAN') {
                            match = match && item[filter.datafield] < filter.value;
                        } else if (filter.condition === 'GREATER_THAN_OR_EQUAL') {
                            match = match && item[filter.datafield] >= filter.value;
                        } else if (filter.condition === 'LESS_THAN_OR_EQUAL') {
                            match = match && item[filter.datafield] <= filter.value;
                        }
                    }
                    return match;
                });
                var resultSource = {
                    datatype: 'json',
                    datafields: [
                        { name: 'name', type: 'string' },
                        { name: 'age', type: 'number' },
                        { name: 'gender', type: 'string' },
                        { name: 'address', type: 'string' }
                    ],
                    localdata: resultData,
                    totalrecords: resultData.length
                };
                var resultDataAdapter = new $.jqx.dataAdapter(resultSource);
                $("#result").jqxDataTable({ source: resultDataAdapter });
            }
        });
    });
</script>

在上述代码中,我们创建了一个 jqxDataTable 控件,并使用 filterMode 属性来设置表格的筛选模式为 excel。在表格的 filter 事件中,我们使用 getFilterInformation() 方法来获取筛选信息,并将其显示在另一个 jqxDataTable 控件中。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQWidgets jqxDataTable filterMode属性 - Python技术站

(0)
上一篇 2023年5月11日
下一篇 2023年5月11日

相关文章

  • jQuery实现的登录浮动框效果代码

    下面是简单的“jQuery实现的登录浮动框效果代码”的攻略: 1. 准备工作 在使用jQuery之前,需要先在HTML文件中导入jQuery库。在头部添加以下代码即可: <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script&gt…

    jquery 2023年5月28日
    00
  • JQuery魔力之$(“tagName”)与selector

    JQuery是广泛使用的JavaScript库,其封装了许多常用的JS操作,能够简化前端开发。其中,$函数被广泛使用来选择DOM元素。本文将深入讲解$函数的两种常见用法 — 选择器选择和标签名选择,同时给出示例说明。 选择器选择 $函数使用选择器字符串作为参数,来选取或操作DOM元素。选择器可以是元素的ID、类、标签名和属性等。具体使用方法示例如下: //…

    jquery 2023年5月28日
    00
  • jQWidgets jqxNavBar orientation属性

    以下是关于 jQWidgets jqxNavBar 组件中 orientation 属性的详细攻略。 jQWidgets jqxNavBar orientation 属性 jQWidgets jqxNavBar 组件的 orientation 属性用于设置导航栏的方向。该属性可以是字符串,可选值为 ‘horizontal’ 或 ‘vertical’。 语法 …

    jquery 2023年5月12日
    00
  • jquery学习笔记 用jquery实现无刷新登录

    jQuery学习笔记:用jQuery实现无刷新登录 本篇文章将会介绍如何使用jQuery实现一个无刷新登录的功能。在完成本篇文章,你将会掌握以下知识点: AJAX的基本原理 jQuery的AJAX方法 服务器端与客户端之间数据的传输 实现一个无刷新登录的Demo 一、AJAX的基本原理 AJAX(Asynchronous JavaScript and XML…

    jquery 2023年5月28日
    00
  • jQuery中hide()方法用法实例

    jQuery中hide()方法用法实例 简介 hide() 是jQuery中隐藏元素的方法。它使用CSS属性display将被选元素的可见状态设置为none, 以此来隐藏该元素。 语法 hide()方法不接收任何参数。 使用方法 hide()方法可以应用于任何jQuery选择器选择的元素。例如,您可以将其应用于页面中的某些元素,例如 div,span或p。以…

    jquery 2023年5月27日
    00
  • jQuery UI菜单disable()方法

    jQuery UI是jQuery的一个插件库,提供了许多UI组件和效果,其中包括菜单(Menu)组件。disable()方法是jQuery UI菜单(Menu)组件中的一个方法,用于禁用菜单项(MenuItem)。 语法 $( ".selector" ).menu( "disable", item ) 参数 .sele…

    jquery 2023年5月12日
    00
  • jQuery中的常用事件介绍

    下面就来详细讲解一下jQuery中的常用事件介绍。 1.常用事件介绍 1.1 click() 点击事件 click() 方法触发元素的点击事件,比如用户单击一个按钮或者一个超链接。 click() 方法可以与其他的 jQuery 方法结合使用,比如 text() 或 html() 方法,来改变元素内容。click() 方法不能在隐藏的元素上触发点击事件。 示…

    jquery 2023年5月27日
    00
  • jQWidgets jqxGrid hidecolumn()方法

    jQWidgets jqxGrid hidecolumn() 方法详解 jQWidgets jqxGrid 是一种表格控件,用于在 Web 应用程序中创建表格。hidecolumn() 方法是 jqxGrid 控件的一个方法,用于隐藏表格中的列。本文将详细讲解 hidecolumn() 方法的使用方法,并提供两个示例。 方法 hidecolumn() 方法用…

    jquery 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部