您的位置:首页 > Web前端 > JQuery

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");
})
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript