Jqgrid之强大的表格插件应用

Jqgrid之强大的表格插件应用

什么是Jqgrid

Jqgrid是一款基于jQuery的表格插件,提供了丰富的功能和灵活的配置,可以方便地实现数据的展示、排序、过滤、分页等操作,是一款非常流行的表格插件。

Jqgrid的安装和引用

可以通过以下方式进行安装和引用:

  1. 从jqGrid官网下载相应的文件,包括js、css和图片等,然后在页面中引用。
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>
<link rel="stylesheet" href="css/ui.jqgrid.css" />
  1. 在使用Jqgrid之前,需要引用jQuery库,确保jquery.jqGrid.min.js在jQuery库后面引用。

Jqgrid的语法

使用Jqgrid需要了解其基本的语法规则,包括定义表格、定义数据源、定义列模型等,下面是一个基本的使用示例:

$("#table_list").jqGrid({
    url: 'get_data.php',
    datatype: "json",
    colModel: [
        { label: '序号', name: 'id', width: 50, key: true },
        { label: '姓名', name: 'name', width: 80 },
        { label: '年龄', name: 'age', width: 80 },
        { label: '性别', name: 'sex', width: 80 },
        { label: '地址', name: 'address', width: 150 },
        { label: '电话', name: 'tel', width: 120 },
        { label: 'Email', name: 'email', width: 120 },
        { label: '状态', name: 'status', width: 80 },
        { label: '备注', name: 'remark', width: 150 }
    ],
    height: 300,
    width: 'auto',
    rowNum: 10,
    rowList: [10, 20, 30],
    pager: "#pager_list",
    viewrecords: true,
    caption: "用户列表"
});

其中,#table_list是表格的id,url是数据源的地址,colModel定义了列的模型,height和width定义了表格的高度和宽度,rowNum定义了每页显示的记录数,rowList定义了可供选择的每页显示记录数选项,pager定义了分页的导航条,viewrecords定义了是否显示总记录数,caption定义了表格的标题。

Jqgrid常用的配置项

Jqgrid提供了众多的配置项,可以按需进行配置,在这里列举一些常用的配置项,更详细的配置可参考官方文档:

  1. url:数据源的地址;
  2. datatype:数据源的类型,支持xml、json、jsonp等;
  3. colNames/colModel:列的名称和模型;
  4. height/width:表格的高度和宽度;
  5. rowNum:每页显示的记录数;
  6. rowList:可供选择的每页显示记录数选项;
  7. pager:分页的导航条;
  8. viewrecords:是否显示总记录数;
  9. caption:表格的标题;
  10. sortname:默认的排序字段名称;
  11. sortorder:默认的排序顺序,可选值为asc和desc;
  12. multiselect:是否支持多选;
  13. multiboxonly:是否只能通过checkbox进行选择;
  14. autowidth:是否自适应列宽度;
  15. gridview:是否启用高效模式,可以提高表格渲染的速度;
  16. altRows:是否启用隔行变色效果;
  17. shrinkToFit:是否通过自动缩放比例来适应表格宽度。

示例1:展示静态数据

下面是一个示例,展示了一份静态的用户数据:

$(function () {
    var mydata = [
        { id: 1, name: "张三", age: 20, sex: "男", address: "北京市", tel: "010-123456", email: "zhangsan@qq.com", status: "在职", remark: "无" },
        { id: 2, name: "李四", age: 25, sex: "男", address: "上海市", tel: "021-123456", email: "lisi@qq.com", status: "在职", remark: "无" },
        { id: 3, name: "王五", age: 30, sex: "女", address: "广州市", tel: "020-123456", email: "wangwu@qq.com", status: "离职", remark: "无" },
        { id: 4, name: "赵六", age: 35, sex: "男", address: "深圳市", tel: "0755-123456", email: "zhaoliu@qq.com", status: "在职", remark: "无" },
        { id: 5, name: "钱七", age: 40, sex: "女", address: "天津市", tel: "022-123456", email: "qianqi@qq.com", status: "在职", remark: "无" }
    ];
    $("#table_list").jqGrid({
        data: mydata, // 使用本地数据
        datatype: "local",
        colModel: [
            { label: '序号', name: 'id', width: 50, key: true },
            { label: '姓名', name: 'name', width: 80 },
            { label: '年龄', name: 'age', width: 80 },
            { label: '性别', name: 'sex', width: 80 },
            { label: '地址', name: 'address', width: 150 },
            { label: '电话', name: 'tel', width: 120 },
            { label: 'Email', name: 'email', width: 120 },
            { label: '状态', name: 'status', width: 80 },
            { label: '备注', name: 'remark', width: 150 }
        ],
        height: 300,
        width: 'auto',
        rowNum: 10,
        rowList: [10, 20, 30],
        pager: "#pager_list",
        viewrecords: true,
        caption: "用户列表"
    });
});

示例2:异步获取数据

下面是一个示例,通过异步方式获取用户数据,并支持排序和分页:

$(function () {
    $("#table_list").jqGrid({
        url: 'get_data.php', // 获取数据的接口地址
        datatype: "json", // 数据源的类型
        colModel: [
            { label: '序号', name: 'id', width: 50, key: true },
            { label: '姓名', name: 'name', width: 80 },
            { label: '年龄', name: 'age', width: 80 },
            { label: '性别', name: 'sex', width: 80 },
            { label: '地址', name: 'address', width: 150 },
            { label: '电话', name: 'tel', width: 120 },
            { label: 'Email', name: 'email', width: 120 },
            { label: '状态', name: 'status', width: 80 },
            { label: '备注', name: 'remark', width: 150 }
        ],
        height: 300,
        width: 'auto',
        rowNum: 10,
        rowList: [10, 20, 30],
        pager: "#pager_list",
        viewrecords: true,
        caption: "用户列表",
        autowidth: true, // 自适应列宽
        gridview: true, // 启用高效模式
        multiselect: true, // 支持多选
        multiboxonly: true, // 只能通过checkbox进行选择
        altRows: true, // 启用隔行变色效果
        shrinkToFit: true, // 自动缩放比例来适应表格宽度
        sortname: 'id', // 默认的排序字段名称
        sortorder: 'desc' // 默认的排序顺序
    }).jqGrid('navGrid', '#pager_list', { edit: false, add: false, del: false }); // 增加分页工具条
});

结语

Jqgrid是一款非常强大的表格插件,它提供了丰富的功能和灵活的配置,可以方便地实现数据的展示、排序、过滤、分页等操作,为我们的开发工作提供了极大的便利。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jqgrid之强大的表格插件应用 - Python技术站

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

相关文章

  • jQWidgets jqxMenu close()方法

    以下是关于 jQWidgets jqxMenu 组件中 close() 方法的详细攻略。 jQWidgets jqxMenu close() 方法 jWidgets jqxMenu 组件的 close() 方法用于关闭当前打开的菜单。该方法没有参数。 语法 $(‘#menu’).jqxMenu(‘close’); 示例 以下两个示例演示如何使用 close(…

    jquery 2023年5月12日
    00
  • jQuery.Callbacks()回调函数队列用法详解

    下面我将讲解“jQuery.Callbacks()回调函数队列用法详解”的攻略。 什么是jQuery.Callbacks()? jQuery.Callbacks()是jQuery提供的一个回调函数队列构造函数,用于实现自定义的回调函数体系。它支持多个回调函数列表,以及控制这些回调函数列表的触发次数和所在上下文等细节。让我们逐一了解一下。 创建回调函数列表 要…

    jquery 2023年5月28日
    00
  • jQuery的text()方法用法分析

    当我们需要获取或修改某个HTML元素的文本内容时,可以使用jQuery的text()方法。下面,我们来详细分析一下text()方法的用法。 方法语法 text()方法的语法如下: $(selector).text(content) 其中,selector是需要修改文本内容的HTML元素的选择器,content是要设置的文本内容。如果不传递参数,text()方…

    jquery 2023年5月27日
    00
  • jQWidgets jqxKnob val()方法

    jQWidgets jqxKnob val()方法攻略 jQWidgets 是一个基于 jQuery 的 UI 组件库,提供了丰富的 UI 组件和工具,可于创建现代化应用程序。 jqxKnob 旋钮,于可视化整数值。本攻略将详细介绍 jqxKnob 的 val() 方法,包括 val() 方法的使用方法和示例。 val() 方法 jqxKnob 组件的 va…

    jquery 2023年5月10日
    00
  • jQWidgets jqxNavigationBar rtl属性

    以下是关于 jQWidgets jqxNavigationBar 组件中 rtl 属性的详细攻略。 jQWidgets jqxNavigationBar rtl 属性 jQWidgets jqxNavigationBar 的 rtl 属性用于设置导栏组件的文本方向为从右到左。 语法 // 设置导航栏组件的文本方向为从右左 $(‘#navigationBar’…

    jquery 2023年5月12日
    00
  • 浅谈Asp.net Mvc之Action如何传多个参数的方法

    那么首先需要了解的是,ASP.NET MVC中的Action可以通过多种方式来传递参数,下面我会结合示例来详细讲解。 方法一:Query String传参法 Query String是通过将参数添加到URL字符串后面传递,并在服务器端获取。这种方式适用于少量的参数或者请求缓存已经开启的情况下。 示例1 例如:请求URL地址是/Home/Index?id=1&…

    jquery 2023年5月18日
    00
  • JS实现隐藏同级元素后只显示JS文件内容的方法

    要实现隐藏同级元素后只显示JS文件内容的方法,可以使用以下步骤进行操作: 第一步 首先,在 HTML 文件中添加一个包含 JS 代码的标签,比如 <script> 标签,可以将这个标签放在 <head> 或 <body> 中: <!DOCTYPE html> <html> <head> …

    jquery 2023年5月27日
    00
  • jquery操作 iframe的方法

    下面是详细讲解 jQuery 操作 iframe 的方法的完整攻略。 一、通过选择器选中 iframe 在 jQuery 中可以使用选择器选中 iframe 元素。以下是一个示例: // 选中 id 为 iframe1 的 iframe 元素 var $iframe = $(‘#iframe1’); // 获取 iframe 内部文档对象 var ifram…

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