使用EasyUI固定表格的行或列

在网页中,为了方便查看表格数据,可以使用EasyUI实现表格首行和列的固定。通过创建多个表格或者利用EasyUI的数据网格插件,可以达到类似Excel的固定效果。在EasyUI中,可以通过设置特定的属性如`data-options`和`frozen:true`来实现固定首行和列。当数据加载成功后,调用`freezeRow`方法固定行。示例代码中详细展示了如何配置这些选项。
摘要由CSDN通过智能技术生成

   在浏览表格数据时,固定表格首行的标题行或第一列的id或name等字段可以方便查看,然而web中的table却没不像Excel表格那样能够固定行或列,这时通常可以创建多个表格来实现这一需求。

    例如,可以将表格首行和内容部分各自创建一个表格,只需要将两个表格相应的列对齐,两个表格紧挨在一起,当内容超出出现滚动条时,表头部分并不会随之滚动,即在形式上实现了固定表格首行,也可以用相同方法实现固定列。

    另外,通过使用EasyUI也可以实现固定首行的功能,而且还能实现行和列的同时固定,从EasyUI官网上找到的示例进行了一定的修改,代码如下:

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Frozen Rows in DataGrid</title>
        <!--需要在引入jquery.easyui.min.js文件之前先引入jquery-1.11.3.js-->
        <script src="../js/jquery-1.11.3.js"></script>
        <!--实现基本的固定表格行和列功能引入jquery.easyui.js和easyui.css即可-->
        <script src="../js/jquery.easyui.min.js"></script>
        <link rel="stylesheet" type="text/css" href="../style/easyui.css">
    </head>
    <body>
        <h2>Frozen Rows in DataGrid</h2>
        <table class="easyui-datagrid"
               title="Frozen Rows in DataGrid"
               data-options="
				singleSelect: true,
				collapsible: true,
				url: 'datagrid_data.json',
				method: 'get',
				onLoadSuccess: function(){
					$(this).datagrid('freezeRow',0);
				}"
               style="width:440px;height:250px">
            <thead data-options="frozen:true">
            <tr>
                <th 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以通过easyui中的`sorter`属性来实现对每一的排序方式进自定义。对于不需要排序的合计,可以将该的数据与其他数据分开,只在表格底部显示该合计。具体实现方法如下: 1. 在表格数据中加入一个标记,用来标识该是否为合计,例如: ```javascript var data = [ {name: 'A', age: 20, gender: 'M', total: 100}, {name: 'B', age: 25, gender: 'F', total: 200}, {name: 'C', age: 30, gender: 'M', total: 150}, {name: 'D', age: 35, gender: 'F', total: 250}, {name: 'E', age: 40, gender: 'M', total: 180}, {name: 'F', age: 45, gender: 'F', total: 300}, {name: '', age: '', gender: '', total: 980, isTotal: true} // 标记为合计 ]; ``` 2. 在定义中设置该的`sorter`属性,用来自定义该的排序方式,例如: ```javascript $('#dg').datagrid({ columns: [ [ {field: 'name', title: 'Name', width: 100}, {field: 'age', title: 'Age', width: 100, sorter: function(a, b) { return parseInt(a) - parseInt(b); // 数字排序 }}, {field: 'gender', title: 'Gender', width: 100}, {field: 'total', title: 'Total', width: 100, sorter: function(a, b) { if (a.isTotal || b.isTotal) { // 如果是合计,则不进排序 return 0; } else { return parseInt(a) - parseInt(b); // 数字排序 } }} ] ], data: data }); ``` 在合计的`total`中,如果该的数据被标记为合计,则返回0,表示该不参与排序。 3. 将合计数据从原数据中分离出来,然后在表格底部添加一个新的,用来显示合计数据,例如: ```javascript var totalRow = null; for (var i = 0; i < data.length; i++) { if (data[i].isTotal) { totalRow = data.splice(i, 1)[0]; // 分离出合计 break; } } if (totalRow) { $('#dg').datagrid('appendRow', totalRow); // 在表格底部添加合计 } ``` 通过`splice`方法将合计数据从原数据中删除,然后使用`appendRow`方法在表格底部添加该数据。 通过以上步骤,即可实现按需对表格中的数据进排序,并将合计数据固定表格底部。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值