bootstrap表格合并多⾏的使⽤⽅法
1 function initTable(tableID) {
2 $("#" + tableID).bootstrapTable('destroy');
3 $('#' + tableID).bootstrapTable({
4 method: 'post',
5 url: primary_url,
6 contentType: "application/x-www-form-urlencoded; charset=UTF-8",
7 showRefresh: false,
8 // height: $(window).height()+500,
9 striped: true,
10 pagination: false,
11 paginationLoop: false,
12 singleSelect: false,
13 // pageSize: 300,
14 pageList: ['All'], //设置为 All 或者 Unlimited,则显⽰所有记录。
15 search: false, //不显⽰搜索框
16 showHeader: true,
17 showColumns: false, //不显⽰下拉框(选择显⽰的列)
18 showExport: false,//是否显⽰导出
19 paginationVAlign: "bottom",
20 exportDataType: "all",
21 sidePagination: "server", //服务端请求
22 queryParams: queryParams,
23 sortable: false, //是否允许排序.
24 minimunCountColumns: 2,
25 queryParamsType: 'limit',
26 columns: [{
27 field: '⼤项',
28 title: '评估⼤项',
29 width: '7%',
30 align: 'left',
31 valign: 'middle',
32 formatter: joinPingGuDaXiang,
33 sortable: true
34 }, {
35 field: '⼩项',
36 title: '评估⼩项',
37 width: '10%',
38 align: 'left',
39 valign: 'middle',
40 formatter: joinPingGuXiaoXiang,
41 sortable: true
42 }, {
43 field: '⼩项序号',
44 title: '序号',
45 width: '3%',
46 align: 'center',
47 valign: 'middle',
48 sortable: true
49 }],
95 onLoadError: function (data) {
96
97 },
98 onLoadSuccess: function (data) {
99 if (de == "1" && ssage == "成功") {
100 // console.log( $('#' + tableID)["0"].clientHeight); //这种办法可以取到bootstrap表格的⾼度
101 /*
102 要根据当前⾏的⼤项 == prevBigItem,和当前⾏的⼩项的parentid是否相同,结合来判定合并表格的单元格. 103 */
104 var prevBigItem = ""; //前⼀⾏的评估⼤项
105 var prevSmallItem = ""; //前⼀⾏的评估⼩项
106 var prevParentID = ""; //前⼀⾏的评估⼩项的id号
107 var currentRowBigIndex = 0; //要合并的⼤项⾏组⾥第⼀⾏的下标
108 var bigRowspan = 1; //要rowspan的⼤项⾏数.
109
110 //⼩项的⾏下标/合并的⾏数
111 var currentRowSmallIndex = 0;
112 var smallRowspan = 1;
113
114 for (var i = 0; i < al; i++) {
115 var row = ws[i];
116 var wd_name = data.v_wd;
121
128 if (row.⼤项 == prevBigItem) {
129 //⼤项重合了哈哈哈居然好啦
130
131 bigRowspan++;
132 $("#" + tableID).bootstrapTable('mergeCells', {
133 index: currentRowBigIndex,
134 field: '⼤项',
135 colspan: 1,
136 rowspan: bigRowspan
137 });
138
139
140 if (row.PARENTID == prevParentID) {
141 //⼩项重合了
142
143 smallRowspan++;
144
145 $("#" + tableID).bootstrapTable('mergeCells', {
146 index: currentRowSmallIndex,
147 field: '⼩项',
148 colspan: 1,
149 rowspan: smallRowspan
150 });
151
152 /*$("#" + tableID).bootstrapTable('mergeCells', {
153 index: currentRowSmallIndex,
154 field: '附件数量',
155 colspan: 1,
156 rowspan: smallRowspan
157 });*/
158
159 $("#" + tableID).bootstrapTable('mergeCells', {
160 index: currentRowSmallIndex,
161 field: '⼩项得分',
162 colspan: 1,
163 rowspan: smallRowspan
164 });
165 } else {
166 currentRowSmallIndex = parseInt(row.DISPID) - 1;
167 smallRowspan = 1;
tabletable168 }
169 } else {
170 currentRowBigIndex = parseInt(row.DISPID) - 1; //重置初始化.
171 bigRowspan = 1; //重置初始化.
172 currentRowSmallIndex = parseInt(row.DISPID) - 1;
173 smallRowspan = 1;
174 }
175
176
177 /*
178 构造bootstrap的开关按钮和下拉框
179 */
182 prevBigItem = row.⼤项;
183 prevSmallItem = row.⼩项;
184 prevParentID = row.PARENTID;
196 }
197
198 },
199 onRefresh: function () {
200 afterflash = 1;
201
202 },
203 onPostBody: function () {
204
205 }
206
207 });
208 }
$('#' + tableID)["0"].clientHeight,可以在bootstrap的表格成功⽣成后取得其⾼度,是为数不多的能取得表格的⽅法之⼀. bootstrap table可以在初始化⽅法⾥,加⼊height属性:500(或1000),这样也能定下⾼度.不够会有留⽩,超出了会⾃动出现滚动条.表格合并,这⾥采取是表格加载成功后,再给予'mergeCell
s'单元格合并.以当前⼤⼩项和parentid和上⼀个同指标相⽐较,如果相同, currentRowBigIndex和bigRowspan都进⾏相应的变化,
就加以合并;否则,currentRowBigIndex和bigRowspan都给重置初始化.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论