layui动态表头的实现代码(2)

这块是name这些的是固定的,就排除掉,然后将数据放到arrayPrice1下再push到数组下。tablex就是表格的html。当时拼接的是分两步,先是表头,然后是数据。有个总计,后来在sql下加了WITH ROLLUP就得到了。

for(var key in arrayPrice[i]){ if(i==0&&(arrayPrice[arrayPrice.length-1][key]!=0)){ title+="<th>"+key+"(元)</th>"; } if(i==(arrayPrice.length-1)&&(arrayPrice[arrayPrice.length-1][key]!=0)){ sumCols+="<td>"+arrayPrice[i][key]+"</td>"; } if(i!=(arrayPrice.length-1)&&(arrayPrice[arrayPrice.length-1][key]!=0)){ partColsStr += "<td>"+arrayPrice[i][key]+"</td>"; } }

这块就是动态的数据,title表头,sumCols总计,partColsStr具体数据,加到tablex下就行。以上就是原生的思路。

layui动态表头的实现代码

这块table用到了layui,当时也是看着这个layui动态设置的思路去写的原生。主要思路是:cols是一个数组,通过ajax得到数据后放到数组下,再放到cols下即可。

$.ajax({ url: basePath + "/biz/hospital/rate/allot/department/getDepartment.do", data: { }, type : 'post', dataType : 'json', success : function(data) { mycols[0] = {field : 'nameTrue', title:"姓名", align:'center',width:'120'}; mycols[1] = {field : 'telephoneTrue', title:'支付手机号', align:'center',width:'120'}; mycols[2] = {field : 'orderNO', title:'订单号', align:'center',width:'120'}; mycols[3] = {field : 'createDate', title:'订单创建时间', align:'center',width:'120'}; mycols[4] = {field : 'modifyDate', title:'订单使用时间', align:'center',width:'120'}; mycols[5] = {field : 'price', title:'支付金额(元)', align:'center',width:'120'}; for (var i = 0;i < data.length; i++){ var obj = data[i].departmentName; if(obj!=0){ mycols[i+6] = {field : obj, title:obj+"(元)", align:'center',width:'120'}; } } console.log(mycols); reload(); }, error : function() { layer.msg('系统异常,请联系管理员!',{icon:2,time:2000}); } });

以上是ajax调用后处理的数组。下面这些就是table。reload();就是重新渲染。

var options = { url: basePath + "/biz/hospital/rate/allot/list_mx.do", method: 'post', where:{ begin:$("#startDate").val().toString(), end:end, productId_:$("#productId_").val().toString(), orderNO:$("#qorderNO").val().toString(), name:$("#qname").val().toString() }, //分页请求参数 request:{ pageName: 'pageIndex', //页码 limitName: 'limit' //每页多少数据 }, //返回的数据格式 response:{ statusName: 'status', //数据状态的字段名称,默认:code statusCode: 200, //成功的状态码,默认:0 msgName: 'message', //状态信息的字段名称,默认:msg countName: 'total', //数据总数的字段名称,默认:count dataName: 'data' //数据列表的字段名称,默认:data }, //每页10条数据 limit: 10, //加载时出现加载条 loading: true, elem: '#data_table', cols: [ mycols ], id: 'dataTable', page: true, }; //方法级渲染 table.render(options); function reload(){ date = new Date($("#endDate").val()); date=date.setDate(date.getDate()+1); date=new Date(date); datemonth=date.getMonth()+1; //获取当前月份(0-11,0代表1月) end=date.getFullYear()+"-"+datemonth+"-"+date.getDate(); //options.where.departmentId = $("#departmentId").val(); options.where.begin = $("#startDate").val(); options.where.end = end; options.where.orderNO = $("#qorderNO").val();; options.where.name = $("#qname").val();; table.reload("dataTable",options); }

可以看到

cols: [ mycols ],

这个就是动态数据。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/6f98a9d0ce613c1ce99b20771eb32173.html