JS實現EasyUI ,Datagrid,合並單元格功能


為了實現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方法,紅色中間的綠色部分就是單元格合並的方法。

最后附上一張紅包碼,學習賺錢兩不誤,支付寶掃一掃就能領取紅包啦

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM