【JavaScript】動態導入數據合併單元格的方法

先將數據庫數據進行排序(order by,可以根據多個字段進行排序,具有優先級,第二個字段會在第一個字段相同的基礎上完成排序),這樣具有相同值得數據就會放在一起。
然後還用相同的list方法傳入前臺,傳給前臺成功以後,調用自己定義的合併單元格的方法。
如果要合併多列,需要定義多個方法,按照優先級,優先級低的排序時候應該校驗優先級高的數據是否相同。
並且調用時候應該先排序優先級低的。

//合併相同數據的單元格
            functionhebingRows1(col){
               vartrs = $("table tr");
               varrows = 1;
               for(vari=trs.length;i>0;i--){
                   varcur = $($(trs[i]).find("td")[col]).text();
                   varnext = $($(trs[i-1]).find("td")[col]).text();
                   if(cur==next){
                        rows++;
                        $($(trs[i]).find("td")[col]).remove();
                    }else{
                        $($(trs[i]).find("td")[col]).attr("rowspan",rows);
                        rows=1;
                    }
                }
            }
           functionhebingRows2(col){
               vartrs = $("table tr");
               varrows = 1;
               for(vari=trs.length;i>0;i--){
                   varcur = $($(trs[i]).find("td")[col]).text();
                   varnext = $($(trs[i-1]).find("td")[col]).text();
                   varcompany1 = $($(trs[i]).find("td")[1]).text();
                   varcompany2 = $($(trs[i-1]).find("td")[1]).text();
                   if(cur == next&&company1 == company2){
                        rows++;
                        $($(trs[i]).find("td")[col]).remove();
                    }else{
                        $($(trs[i]).find("td")[col]).attr("rowspan",rows);
                        rows=1;
                    }
                }
            }
           functionhebingRows3(col){
               vartrs = $("table tr");
               varrows = 1;
               for(vari=trs.length;i>0;i--){
                   varcur = $($(trs[i]).find("td")[col]).text();
                   varnext = $($(trs[i-1]).find("td")[col]).text();
                   varcompany1 = $($(trs[i]).find("td")[1]).text();
                   varcompany2 = $($(trs[i-1]).find("td")[1]).text();
                   varmainproduct1 = $($(trs[i]).find("td")[2]).text();
                   varmainproduct2 = $($(trs[i-1]).find("td")[2]).text();
                   if(cur == next&&company1 == company2&&mainproduct1==mainproduct2){
                        rows++;
                        $($(trs[i]).find("td")[col]).remove();
                    }else{
                        $($(trs[i]).find("td")[col]).attr("rowspan",rows);
                        rows=1;
                    }
                }
            }

           hebingRows3(3);
            hebingRows2(2);
            hebingRows1(1);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章