加载table控件
来源:互联网 发布:吃黑米必知6大禁忌 编辑:程序博客网 时间:2024/06/08 15:24
/**
* Created by Administrator on 2015/4/28 0028.
*/
/**
* xgrid控件js 包
*/
var _xgrid = {
param : {
tableTemplate : "",
url : "",
bodyobj : null,
rfc:null,
searchParam:null,
fn:null,
back:false
},
/**
* 表格插件初始化 参数:表格id,数据请求url,json参数,rfn datamap回调函数,fn 循环每行回调函数
*/
init : function() {
var arglen = arguments.length;
_xgrid.param.fn=null;
_xgrid.param.rfn=null;
if (!_xgrid.param.back)
_xgrid.param.searchParam=null;
var table = $("#" + arguments[0]);
var url=arguments[1];
if (table.length == 0) {
yt.msg("需初始化的表格不存在", "e");
return false;
} else if (url==undefined || url == null) {
yt.msg("需要加载数据的url地址不能为空", "e");
return false;
}
$(table).after("<div id='kkpager' style='text-align: right;margin-right: 60px;'></div>");
var data = {};
if (arglen > 2&&arguments[2]!=null)
data = arguments[2];
if(arglen == 4&&arguments[3]!=null){
_xgrid.param.rfc =arguments[3];
}
if(arglen == 5&&arguments[4]!=null){
_xgrid.param.fn =arguments[4];
}
var bodyobj = $(table).find("tbody");
_xgrid.param.tableTemplate = $(bodyobj).html();
$(bodyobj).html("");
_xgrid.param.url = url;
_xgrid.param.bodyobj = bodyobj;
if (_xgrid.param.back){
_xgrid.param.back=false;
_xgrid.loadTableData(null,_xgrid.page.param.pageNum);
}else{
_xgrid.loadTableData(data);
}
},
//可传递参数,
//第一个参数:参数对象
//第二个参数:分页数字
//第三个参数:不想显示的表格列,数组,从0开始;
//第四个参数:回调函数
loadTableData : function() {
var hidetdArray=[];
var data = {};
var callfn=null;
var arglen = arguments.length;
if (arglen == 1) {
data = arguments[0];
_xgrid.param.searchParam=data;
_xgrid.page.param.pageNum = 1;
}
if (arglen == 2) {
data = _xgrid.param.searchParam;
_xgrid.page.param.pageNum =arguments[1];
}
if (arglen == 3) {
data = arguments[0];
_xgrid.page.param.pageNum =1;
if(_xgrid.param.searchParam==null)
_xgrid.param.searchParam=data;
hidetdArray=arguments[2];
}
if (arglen == 4&&arguments[3]!=null) {
data = arguments[0];
_xgrid.param.searchParam=data;
_xgrid.page.param.pageNum =1;
callfn=arguments[3];
}
try {
data.pagenum = _xgrid.page.param.pageNum;
data.pagesize = _xgrid.page.param.pageSize;
} catch (e) {
yt.msg("分页参数不存在!", "e");
return false;
}
var obj = _xgrid.param.bodyobj;
if (obj == null)
return false;
$(obj).hide();
ytms.processData(_xgrid.param.url, data, function(d) {
if (d.dataList == null) {
//yt.msg("参数必须为一个JSON对象", "e");
if(d.state="ERROR"){
yt.msg(d.message, "e");
}
return false;
}
var data = d.dataList;
if(data==null)return false;
var len = data.length;
_xgrid.page.param.totalRecords = d.totalCount;
_xgrid.page.init();
if (len == 0)
return false;
var html = "";
var re = new RegExp("#.*?#", "g");
var paramList = (_xgrid.param.tableTemplate).match(re);
for (var i = 0; i < len; i++) {
var temp = _xgrid.param.tableTemplate;
var slen = paramList.length;
for (var j = 0; j < slen; j++) {
var v = yt.util.replaceAll(paramList[j], "#", "");
var vlist=null;
if(v.substring(0,1)!="$"){
vlist=v.split(".");
v=vlist[0];
}else{
v=yt.util.replaceAll(v,"$","");
}
var value = "";
try {
var typeobj=v.split(":");
if(typeobj.length==2&&typeobj[1]=="date"){
value=yt.util.formatDate(eval("data[i]." + typeobj[0]));
}
else{
value = eval("data[i]." + v);
}
if(value==null)value="---";
if(typeof value=="object"){
var valuez="";
$(value).each(function(i,v){
valuez+=","+eval("v." + vlist[1]);
});
value=valuez.substring(1);
}
} catch (e) {
value = "---";
} finally {
temp = yt.util.replaceAll(temp, paramList[j], value);
}
}
html += temp;
}
$(obj).html(html).show();
var fn=_xgrid.param.fn;
if(fn!=null)fn(data);
var rfn=_xgrid.param.rfc;
if(rfn!=null)
rfn(d.dataMap);
$(obj).find("tr").each(function(i,v){
var tdlen=$(v).find("td").length;
$("#orderhead th").show();
for(var j=0;j<hidetdArray.length;j++){
if(hidetdArray[j]>=tdlen)break;
$(v).find("td").each(function(k,vs){
if(k==hidetdArray[j]){
$("#orderhead th:eq("+k+")").hide();
$(vs).hide();
}
});
}
});
if(callfn!=null)callfn();
});
},
/**
* 分页配置
*/
page : {
/**
* 分页参数
*/
param : {
pageSize : 10,
totalRecords : 1,
pageNum : 1
},
/**
* 分页初始化
*/
init : function() {
// 生成分页
// 有些参数是可选的,比如lang,若不传有默认值
kkpager.generPageHtml({
pno : _xgrid.page.param.pageNum,
// 总页码
total : Math.ceil(_xgrid.page.param.totalRecords
/ _xgrid.page.param.pageSize),
// 总数据条数
totalRecords : _xgrid.page.param.totalRecords,
lang : {
firstPageText : '首页',
lastPageText : '尾页',
prePageText : '上一页',
nextPageText : '下一页',
totalPageBeforeText : '共',
totalPageAfterText : '页',
totalRecordsAfterText : '条数据',
gopageBeforeText : '转到',
gopageButtonOkText : '确定',
gopageAfterText : '页',
buttonTipBeforeText : '第',
buttonTipAfterText : '页'
},
mode : 'click',// 默认值是link,可选link或者click
click : function(n) {
_xgrid.page.param.pageNum = n;
_xgrid.loadTableData({}, n);
this.selectPage(n);
return false;
}
}, true);
$("#kkpager_ChangePSize").val(_xgrid.page.param.pageSize);
},
//改变分页的页大小
changePageSize:function(obj){
_xgrid.page.param.pageSize=$(obj).val();
_xgrid.loadTableData({},1);
}
}
};
* Created by Administrator on 2015/4/28 0028.
*/
/**
* xgrid控件js 包
*/
var _xgrid = {
param : {
tableTemplate : "",
url : "",
bodyobj : null,
rfc:null,
searchParam:null,
fn:null,
back:false
},
/**
* 表格插件初始化 参数:表格id,数据请求url,json参数,rfn datamap回调函数,fn 循环每行回调函数
*/
init : function() {
var arglen = arguments.length;
_xgrid.param.fn=null;
_xgrid.param.rfn=null;
if (!_xgrid.param.back)
_xgrid.param.searchParam=null;
var table = $("#" + arguments[0]);
var url=arguments[1];
if (table.length == 0) {
yt.msg("需初始化的表格不存在", "e");
return false;
} else if (url==undefined || url == null) {
yt.msg("需要加载数据的url地址不能为空", "e");
return false;
}
$(table).after("<div id='kkpager' style='text-align: right;margin-right: 60px;'></div>");
var data = {};
if (arglen > 2&&arguments[2]!=null)
data = arguments[2];
if(arglen == 4&&arguments[3]!=null){
_xgrid.param.rfc =arguments[3];
}
if(arglen == 5&&arguments[4]!=null){
_xgrid.param.fn =arguments[4];
}
var bodyobj = $(table).find("tbody");
_xgrid.param.tableTemplate = $(bodyobj).html();
$(bodyobj).html("");
_xgrid.param.url = url;
_xgrid.param.bodyobj = bodyobj;
if (_xgrid.param.back){
_xgrid.param.back=false;
_xgrid.loadTableData(null,_xgrid.page.param.pageNum);
}else{
_xgrid.loadTableData(data);
}
},
//可传递参数,
//第一个参数:参数对象
//第二个参数:分页数字
//第三个参数:不想显示的表格列,数组,从0开始;
//第四个参数:回调函数
loadTableData : function() {
var hidetdArray=[];
var data = {};
var callfn=null;
var arglen = arguments.length;
if (arglen == 1) {
data = arguments[0];
_xgrid.param.searchParam=data;
_xgrid.page.param.pageNum = 1;
}
if (arglen == 2) {
data = _xgrid.param.searchParam;
_xgrid.page.param.pageNum =arguments[1];
}
if (arglen == 3) {
data = arguments[0];
_xgrid.page.param.pageNum =1;
if(_xgrid.param.searchParam==null)
_xgrid.param.searchParam=data;
hidetdArray=arguments[2];
}
if (arglen == 4&&arguments[3]!=null) {
data = arguments[0];
_xgrid.param.searchParam=data;
_xgrid.page.param.pageNum =1;
callfn=arguments[3];
}
try {
data.pagenum = _xgrid.page.param.pageNum;
data.pagesize = _xgrid.page.param.pageSize;
} catch (e) {
yt.msg("分页参数不存在!", "e");
return false;
}
var obj = _xgrid.param.bodyobj;
if (obj == null)
return false;
$(obj).hide();
ytms.processData(_xgrid.param.url, data, function(d) {
if (d.dataList == null) {
//yt.msg("参数必须为一个JSON对象", "e");
if(d.state="ERROR"){
yt.msg(d.message, "e");
}
return false;
}
var data = d.dataList;
if(data==null)return false;
var len = data.length;
_xgrid.page.param.totalRecords = d.totalCount;
_xgrid.page.init();
if (len == 0)
return false;
var html = "";
var re = new RegExp("#.*?#", "g");
var paramList = (_xgrid.param.tableTemplate).match(re);
for (var i = 0; i < len; i++) {
var temp = _xgrid.param.tableTemplate;
var slen = paramList.length;
for (var j = 0; j < slen; j++) {
var v = yt.util.replaceAll(paramList[j], "#", "");
var vlist=null;
if(v.substring(0,1)!="$"){
vlist=v.split(".");
v=vlist[0];
}else{
v=yt.util.replaceAll(v,"$","");
}
var value = "";
try {
var typeobj=v.split(":");
if(typeobj.length==2&&typeobj[1]=="date"){
value=yt.util.formatDate(eval("data[i]." + typeobj[0]));
}
else{
value = eval("data[i]." + v);
}
if(value==null)value="---";
if(typeof value=="object"){
var valuez="";
$(value).each(function(i,v){
valuez+=","+eval("v." + vlist[1]);
});
value=valuez.substring(1);
}
} catch (e) {
value = "---";
} finally {
temp = yt.util.replaceAll(temp, paramList[j], value);
}
}
html += temp;
}
$(obj).html(html).show();
var fn=_xgrid.param.fn;
if(fn!=null)fn(data);
var rfn=_xgrid.param.rfc;
if(rfn!=null)
rfn(d.dataMap);
$(obj).find("tr").each(function(i,v){
var tdlen=$(v).find("td").length;
$("#orderhead th").show();
for(var j=0;j<hidetdArray.length;j++){
if(hidetdArray[j]>=tdlen)break;
$(v).find("td").each(function(k,vs){
if(k==hidetdArray[j]){
$("#orderhead th:eq("+k+")").hide();
$(vs).hide();
}
});
}
});
if(callfn!=null)callfn();
});
},
/**
* 分页配置
*/
page : {
/**
* 分页参数
*/
param : {
pageSize : 10,
totalRecords : 1,
pageNum : 1
},
/**
* 分页初始化
*/
init : function() {
// 生成分页
// 有些参数是可选的,比如lang,若不传有默认值
kkpager.generPageHtml({
pno : _xgrid.page.param.pageNum,
// 总页码
total : Math.ceil(_xgrid.page.param.totalRecords
/ _xgrid.page.param.pageSize),
// 总数据条数
totalRecords : _xgrid.page.param.totalRecords,
lang : {
firstPageText : '首页',
lastPageText : '尾页',
prePageText : '上一页',
nextPageText : '下一页',
totalPageBeforeText : '共',
totalPageAfterText : '页',
totalRecordsAfterText : '条数据',
gopageBeforeText : '转到',
gopageButtonOkText : '确定',
gopageAfterText : '页',
buttonTipBeforeText : '第',
buttonTipAfterText : '页'
},
mode : 'click',// 默认值是link,可选link或者click
click : function(n) {
_xgrid.page.param.pageNum = n;
_xgrid.loadTableData({}, n);
this.selectPage(n);
return false;
}
}, true);
$("#kkpager_ChangePSize").val(_xgrid.page.param.pageSize);
},
//改变分页的页大小
changePageSize:function(obj){
_xgrid.page.param.pageSize=$(obj).val();
_xgrid.loadTableData({},1);
}
}
};
0 0
- 加载table控件
- table 动态加载,遍历子控件
- Table控件
- 页面加载的时候,在Table控件中加载TblStudent表中的内容
- layui实现table加载
- 表控件(Table)
- Table控件绑定类
- C# table控件操作
- c# table 控件用法
- c# table 控件用法
- 控件加载控件
- bootStrap table+ajax加载数据
- HTML下table的加载
- bootstrap table动态加载数据
- table控件的基本用法
- 在table中添加控件
- form下使用table控件
- asp.net Table控件收藏
- Python中filter、map、reduce、lambda 的用法
- 简洁的Fragment+viewPager
- PS画简单的长方形环(电脑想显示器)
- hihoCoder 1068 : RMQ-ST算法
- 为Linux配置apt-get的更新源
- 加载table控件
- 字符串的使用方法
- excel中单元格带引号问题
- 【Vim】使用map自定义快捷键
- 一次cursor: pin S wait on X事件的跟踪
- AlertDialog异常The specified child already has a parent. ..解决方法
- Android模拟器的ip获取以及模拟器之间socket通信
- 最近读的几本书
- POJ1420 Spreadsheet(拓扑排序)注意的是超内存