jQuery的 dataTable
2015-07-14 15:40
711 查看
this.dataTable=this.qid("viewtable").dataTable({ "dom": '<"top"i<"fa fa-refresh fa-1 listtablerefersh"><"btn btn-subtle btn-columns">>rt<"bottom"i<"fa fa-refresh fa-1 listtablerefersh">p><"clear">', "pageLength": parseInt($.cookie("pageDisplayNum") || 10), "pagingType": "full_numbers", "autoWidth": true, "processing": false, "serverSide": true, "order": order, "language":{ "processing":"数据加载中...", "info": " _START_ - _END_ of _TOTAL_ ", "zeroRecords":"无搜索结果", "infoFiltered":"", "paginate": { "first": "", "previous": "<span class='fa fa-caret-left fa-lg'></span>", "next": "<span class='fa fa-caret-right fa-lg'></span>", "last": "" } }, "columns": tablecols, "ajax": this.proxy(function (data, callback, settings) { var query = $.map(this._userFilter.staticfilters.concat(this._userFilter.dynamicfilters),function(filter){ if(filter.propvalue && filter.propvalue.length>0){ return {id:filter.key,value:filter.propvalue}; } }), sort = data.order.length > 0 ? data.columns[data.order[0].column].data + " " + data.order[0].dir : "", search = [], s = this.qid("search-query").val(); data.order.length > 0 && $.extend(this._userFilter.orders, { "key":data.columns[data.order[0].column].data, "name":data.columns[data.order[0].column].name, "order":data.order[0].dir },true); search = s ? [{id:"summary",value:[{id:"*"+s+"*",value:s}]}] : []; //,{id:"description",value:[{id:s,value:s}]} var array_s=sort.split(" "); if(array_s.length>1 && array_s[0]=="limitDate"){ array_s[0]="orderNo"; } // {"method":"stdcomponent.getbysearch", "dataobject":"item", "rule": JSON.stringify([[{"key":"type","value":null}]])}, var querya =[]; var queryb =[]; var queryc =[]; var rulecache=[]; <span style="white-space:pre"> </span>//[[{"key":"type","value":"SYS"},{"key":"type","value":"TMP"}],
<span style="white-space:pre"> </span>//<span style="white-space:pre"> </span>[{"key":"profession","value":4128},{"key":"profession","value":4132}],
// [{"key":"startDate","value":field.startDate},{"key":"endDate","value":field.startDate}]] var query = $.map(this._userFilter.staticfilters.concat(this._userFilter.dynamicfilters),function(filter){ if(filter.propvalue && filter.propvalue.length>0){ querya.push({"key":filter.key,"propvalue":filter.propvalue}); return querya; }}); $.each(querya,this.proxy(function(idx,item){ var queryd =[]; if(item.propvalue){//item={key: "type",propvalue: Array[3]} $.each(item.propvalue,this.proxy(function(idx,field){ if(item.key=="limitDate"&&field.type=="dateRange"){ queryb.push({"key":"startDate","value":field.startDate}); queryb.push({"key":"endDate","value":field.endDate}); rulecache.push(queryb); }else if(item.key=="version"||item.key=="profession"){ queryd.push({"key":item.key+".name","op":"like","value":field.name}); } else queryd.push({"key":item.key,"op":"like","value":field.id}); })); } queryd.length>0?(rulecache.push(queryd)):""; })); delete data.order; delete data.draw; delete data.search; delete data.columns; subarray=[]; $.each(this.subdata,this.proxy(function(idx,item){ $.each(item.propvalue,this.proxy(function(idy,atom){ subarray.push(parseInt(atom.id)); })) })) if(subarray.length>0){ rulecache.push([{"key":"unit.id","op":"in","value":subarray}]); } //rulecache.push([{"key":"profession","value":'is not null'}]); //rulecache.push(queryc); //[[{"key":"type","value":"TMP"},{"key":"version","value":8268530},{"key":"profession","value":4128}]] //JSON.stringify([[{"key":"type","value":arryid.type}],[{"key":"version","value":arryid.version}],[{"key":"profession","value":arryid.profession}]]) //var rulekv=JSON.stringify([[{key:"type","value":"SYS"},{key:"type","value":"TME"},{key:"type","value":"TME"}]]) this._ajax($.u.config.constant.smsqueryserver,$.extend({},data,{ "method": "stdcomponent.getbysearch", "rule":JSON.stringify(rulecache) ,//JSON.stringify([[{key:"unit",op:in,"value":[9,8]}]]), "dataobject": "item", //"sort": sort, "columns":JSON.stringify([{"data":array_s[0]?array_s[0]:"orderNo"}]), "order":JSON.stringify([{"column":0,"dir":array_s[1]?array_s[1]:"asc"}]) }),this.qid("viewtablearea").parent(),{size:2,backgroundColor:"#fff"},this.proxy(function(response){ if(response.data){ this._userFilter.uql=response.data.uql; this.qid("search-query-advanced").val(response.data.uql); this.qid("viewtablearea").removeClass("hidden"); this.qid("noresult").addClass("hidden"); callback({//?callback? "draw":data.draw, "recordsFiltered":response.data.iTotalRecords, "data":response.data.aaData }); }else{ this.qid("viewtablearea").addClass("hidden"); this.qid("noresult").removeClass("hidden"); } })); }), //用于在每次draw发生时,修改table的header "headerCallback": this.proxy(function( thead, data, start, end, display ) { var $thead = $(thead); $.each($.extend(true,[],this._userFilter.columns),this.proxy(function(idx,column){ $thead.children("th").eq(idx).data("data-data",column); })); this._showSaveButton(this._filterData && (JSON.stringify(this._userFilter.orders) != JSON.stringify(this._filterData.orders) || JSON.stringify(this._filterData.dynamicfilters || []) != JSON.stringify(this._userFilter.dynamicfilters) ) ); $(".results th").css("min-width","100px"); }) });
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 异步流程控制:7 行代码学会 co 模块
- JavaScript拆分字符串时产生空字符的原因
- IE8开发人员工具教程(二)
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- javascript asp教程第六课-- response方法
- javascript asp教程More About Recordsets
- javascript asp教程第十二课---session对象
- javascript asp教程创建数据库连接
- javascript asp教程错误处理
- javascript asp教程第十课--global asa