为了实现datagrid的合并单元格效果,datagrid的数据加载方式肯定是要写在JS文件内部的。

一:在JS内部添加Datagrid数据加载方法如下:

$("#id").datagrid({  //id时文档中datagrid的id
  url:url, //URL是获取数据的途径,可以是静态json文件,也可以是后台接口
  queryParams:{                    //queryParams是请求的参数,多用于条件查询,可有可无
  stanNum : $("#stanNum").textbox("getValue"),
  }

});

此方法可以实现自动分页效果。

没使用合并之前的样子

效果实现之后的表格

二:在Datagrid,合并单元格功能如下:

  实现合并单元格,只需要调用datagrid的onLoadSuccess方法,在onLoadSuccess方法内进行合并单元格操作

$("#stanList").datagrid({
  url:window.backendContextPath+"/stanInfoManage/bffzStan.do",
  queryParams:{
  stanNum : $("#stanNum").textbox("getValue"),
  },
  onLoadSuccess: function(data){                      //data是默认的表格加载数据,包括rows和Total
    var mark=1;                                                 //这里涉及到简单的运算,mark是计算每次需要合并的格子数
    for (var i=1; i <data.rows.length; i++) {     //这里循环表格当前的数据
      if (data.rows[i]['stanNum'] == data.rows[i-1]['stanNum']) {   //后一行的值与前一行的值做比较,相同就需要合并
        mark += 1;                                            
        $(this).datagrid('mergeCells',{
          index: i+1-mark,                 //datagrid的index,表示从第几行开始合并;紫色的内容需是最精髓的,就是记住最开始需要合并的位置
          field: 'stanNum',                 //合并单元格的区域,就是clomun中的filed对应的列
          rowspan:mark                   //纵向合并的格数,如果想要横向合并,就使用colspan:mark
        });
      }else{
        mark=1;                                         //一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算
      }
    }
  }

});

这里就涉及到一个简单的计算了。红色部分是调用datagrid的onLoadSuccess方法,红色中间的绿色部分就是单元格合并的方法。

最后附上一张红包码,学习赚钱两不误,支付宝扫一扫就能领取红包啦

JS实现EasyUI ,Datagrid,合并单元格功能的更多相关文章

  1. easyui datagrid 合并单元格

    整理以前做的东西,这个合并单元格的问题再新浪博客也写过了..... 下面这段代码是列表数据 //载入排放系数管理报表数据 function LoadEmissionReportData() { //获 ...

  2. 扩展jquery easyui datagrid编辑单元格

    扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...

  3. easyui datagrid单击单元格选择此列

    示例代码实现单击jquery easyui datagrid的单元格时,取消datagrid默认选中高亮此行的样式,改为选中单击的单元格所在的列,高亮此列上的所有单元格.可以配置全局single变量, ...

  4. Silverlight的DataGrid合并单元格

    现在也不知道还有没有同学做Silverlight开发了,我是一个Silverlight菜鸟,遇到问题也很难百度查到.就简单的记录一下这两天遇到的问题,并做了一个简单的小Demo,希望能够帮助到其他同学 ...

  5. WPF DataGrid 合并单元格

    在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Heade ...

  6. EasyUI DataGrid合并单元

    <table id="tt"></table> $('#tt').datagrid({     title:'Merge Cells',     iconC ...

  7. DataGrid合并单元格(wpf)

    在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Heade ...

  8. Easyui datagrid 扩展单元格textarea editor

    datagrid 扩展单元格textarea editor by:授客 QQ:1033553122 测试环境 jquery-easyui-1.5.3 问题描述 如下,在没有扩展的情况下,初始化如下 手 ...

  9. EasyUI datagrid 选择单元格 出现文本框 修改 四

    @disabled = "disabled", 只读属性 数据初始化 public JsonResult RateList(string dispatch_number, stri ...

随机推荐

  1. Java中用Apache POI生成excel和word文档

    概述: 近期在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能.最后决定用Apache POI来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...

  2. 诡异的 &quot;password取回&quot; 邮件问题

    大部分系统中都有"找回password"的功能,我们的平台也做了此功能,用户可通过 短信,邮件 找回password. 当中对于邮件找回password的方式遇到奇特的问题.记录下 ...

  3. &lt;LeetCode OJ&gt; 58. Length of Last Word

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  4. 后台程序处理 (一)python asyncio 协程使用

    由于脚本需要在完成事件处理后N秒检查事件处理结果,当执行失败时再执行另一个事件处理. 想要最小化完成这个功能.同时在第一时间就将执行完毕的结果反馈给接口. 因此想到使用协程. 使用之前先翻阅了一下现有 ...

  5. 查看和删除chrome浏览器缓存内容

    平时用chrome开发更多,介绍一下如何清除和查看chrome浏览器的缓存内容,其他浏览器大同小异就不细说了 打开设置==>隐私设置和安全性==>内容设置==>cookie ==&g ...

  6. 【java提高】Serializable(一)--初步理解

    Serializable(一)--初步理解 一 序列化是干什么的? 我们知道,在jvm中引用数据类型存在于栈中,而new创建出的对象存在于堆中.如果电脑断电那么存在于内存中的对象就会丢失.那么有没有方 ...

  7. 【python】for循环

    >>> exp='welcom to python'>>> for i in exp: print(i,end=' ') w e l c o m t o p y t ...

  8. UITextFiled的输入框改成一条下划线

    在一些程序的界面中,它们的编辑框是一条线,而UITextFiled本身并没有这种style,所有需要我们自己设置.方法还是挺多的 第一种 , (1).我们可以声明一个类继承与UITextFiled ( ...

  9. String源码图

    String StringBuffer StringBuilder 均为对字符数组的操作. 实现了不同的接口,导致不同的覆写. 实现了同样的接口,适应不同的场景.

  10. java 学习(二)

    public class Scoure { public static void main(String args[]) { int score=90; if (score>=85 && ...