(function(){
var plugins = ['grid'];
function parser(){
$(plugins).each(function(){
var plugin = this;
var p = $('.rzy-' + plugin);
if(p.length){
p.each(function(){
$(this)[plugin]();
});
}
});
}
$(parser);
})(jQuery);
$.fn.grid = function() {
var g = this;
var id = g.attr('id');
if(!id){
var uuid = 'rzy_' + Math.floor(Math.random()*(99999-10000+1)+10000);
g.attr('id', uuid);
}
//这里是header
var header = [];
header.push("<div class='list-header'>");
var icon = this.attr('icon');
var caption = this.attr('caption');
var toolbar = this.attr('toolbar');
var url = this.attr('url');
if(icon){
header.push("<div class='list-icon icon-");
header.push(icon);
header.push("'></div>");
}
if(caption){
header.push("<div class='list-title");
if(icon){
header.push(" title-with-icon");
}
header.push("'>");
header.push(caption);
header.push("</div>");
}
if(toolbar){
}
header.push("</div>");
//这里是body
var body = [];
body.push("<div class='list-body'><table cellspacing='0' cellpadding='0' class='list-body-table'>");
//这里是表头
body.push("<thead><tr>");
var cols = g.find('div');
g.empty();
cols.each(function(){
body.push("<td>");
body.push(this.header);
body.push("</td>");
});
body.push("</tr></thead>");
//这里是数据行
body.push("<tbody>");
body.push("</tbody>");
body.push("</table>");
//这里是pager
var pager = [];
pager.push("<div class='list-pager'><table cellpadding='0'>");
var pageList = "<tr><td><select name='rows' style='margin:0 6px;'><option value=10>10</option><option value=15>15</option><option value=20>20</option></select></td>";
pager.push(pageList);
var separator = "<td><div class='pager-separator'></div></td>";
pager.push(separator);
var first = "<td><a class='pager-first' href='javascript:void(0)' hidefocus='true'> </a></td>";
pager.push(first);
var prev = "<td><a class='pager-prev' href='javascript:void(0)' hidefocus='true'> </a></td>";
pager.push(prev);
pager.push(separator);
var pagenum = "<td><div>第<input type='text' name='page' value=1 class='pager-num' size=2/>共<span id='pagecount'></span>页<span id='total'></span></div></td>";
pager.push(pagenum);
pager.push(separator);
var next = "<td><a class='pager-next' href='javascript:void(0)' hidefocus='true'> </a></td>";
pager.push(next);
var last = "<td><a class='pager-last' href='javascript:void(0)' hidefocus='true'> </a></td>";
pager.push(last);
pager.push("</tr></table></div>");
body.push(pager.join(''));
body.push("</div>");
$('a.pager-first',g).live('click', function(){
var r = $('select[name=rows]',g).val();
var params = {page:1,rows:r};
load(params);
});
$('a.pager-prev',g).live('click', function(){
var p = parseInt($('input[name=page]').val());
if(p>1){
var r = $('select[name=rows]',g).val();
var params = {page:p-1,rows:r};
load(params);
}
});
$('a.pager-next',g).live('click', function(){
var p = parseInt($('input[name=page]',g).val());
var pagecount = g.data('pagecount');
if(p<pagecount){
var r = $('select[name=rows]',g).val();
var params = {page:p+1,rows:r};
load(params);
}
});
$('a.pager-last',g).live('click', function(){
var p = g.data('pagecount');
var r = $('select[name=rows]',g).val();
var params = {page:p,rows:r};
load(params);
});
function render(){
g.append(header.join(''));
g.append(body.join(''));
}
function load(params){
$.ajax({
url: url,
type: 'post',
data: params,
dataType:'json',
success:function(data){
var tbody = $('table.list-body-table tbody',g);
tbody.empty();
var total = data.total;
if(total>0){
var rs = [];
$(data.rows).each(function(){
rs.push('<tr>');
var row = this;
cols.each(function(){
var w = 100;
if(this['width']){
w = this['width'];
}
rs.push('<td width=');
rs.push(w);
rs.push('>');
rs.push(row[this['field']]);
rs.push('</td>');
});
rs.push('</tr>');
tbody.html(rs.join(''));
});
$('input[name=page]',g).val(params['page']);
g.data('total', total);
var r = $('select[name=rows]',g).val();
var pagecount = Math.ceil(total/r);
g.data('pagecount', pagecount);
$('#pagecount',g).text(pagecount);
$('#total',g).text(total);
}else{
var nodata = "<tr><td colspan=";
nodata += cols.size();
nodata += ">没有数据</td></tr>";
tbody.html(nodata);
}
}
});
}
render();
var params = {page:1,rows:10};
load(params);
};
分享到:
相关推荐
Sigma Grid 是一个基于 jQuery 的数据网格插件,用于在网页中展示和操作表格数据。它提供了丰富的功能,如分页、排序、过滤、编辑等,适用于各种数据密集型的Web应用。这个压缩包包含了关于 Sigma Grid 的使用指南和...
UltimateGrid是一款强大的MFC(Microsoft Foundation Class Library)控件,完全使用C++语言编写,专为商业级应用设计。这款控件以其优秀的性能、高度的可定制性和丰富的功能,深受开发者喜爱。与同类产品如GridCtrl...
Ag-Grid是一款强大的数据网格组件,常用于JavaScript和TypeScript项目中,特别是在处理大量数据时,它提供了丰富的功能和优秀的性能。在这个"Ag-Grid Demo2.7z"压缩包中,你将找到一个示例项目,展示了如何在实际...
本篇文章将深入探讨两种流行的JavaScript表格组件——GT-Grid和EXT-Grid,并通过对比分析它们的特点、功能和使用场景,以帮助开发者选择最适合项目需求的组件。 GT-Grid与EXT-Grid都是用于构建高性能、可定制的表格...
网格布局(Grid布局)是CSS3中的一个强大工具,它为网页设计提供了二维的、基于网格的布局系统,使得在创建复杂且响应式的页面布局时更加灵活和有序。本综合Demo案例将深入探讨如何利用Grid布局来实现各种复杂的网页...
在.NET框架中,`PropertyGrid`控件是一个强大的工具,用于显示和编辑对象的属性。这个控件在设计时和运行时都非常有用,因为它能够自动生成一个用户界面,该界面可以展示任何对象的属性,并允许用户进行交互式编辑。...
在Windows Forms应用程序开发中,`PropertyGrid`控件是一个强大的工具,它允许用户以图形化的方式查看和修改对象的属性。这个控件主要用于提供一种直观的界面,让用户能够配置对象的属性,通常用于设置控件的外观和...
在.NET Framework中,`PropertyGrid`控件是一个非常强大的工具,用于在用户界面中显示对象的属性,并允许用户进行交互式编辑。这个控件广泛应用于各种应用程序的设置或配置界面,因为它可以自动根据对象的属性生成一...
在Delphi编程环境中,开发自定义Grid控件是一项常见的任务,尤其对于那些希望对界面有更高定制需求的开发者来说。Grid控件是用于显示二维数据的常见组件,它提供了直观的方式来展示表格形式的信息。在本篇文章中,...
标题中的“Draw-Grid_100_catia插件_catia车线_drawgrid_Draw-Grid下载_catia_”提到了几个关键元素,分别是“Draw-Grid”,“CATIA 插件”,“catia车线”以及“下载”。这表明我们要讨论的是一个用于CATIA软件的...
在Windows Presentation Foundation(WPF)中,`PropertyGrid`是一个非常有用的控件,它允许开发者以网格的形式展示和编辑对象的属性。这个控件通常用于创建用户友好的配置界面或编辑器,使得用户可以直观地修改对象...
**JsGrid离线版文档详解** JsGrid是一款轻量级的JavaScript数据网格插件,它提供了丰富的功能,用于在Web应用中展示和编辑数据。这个离线版文档包含了所有关于JsGrid的重要信息,使得开发者无需互联网连接也能查阅...
《jQuery网页表格插件PQGrid 2.4.1详解》 在Web开发中,数据展示是不可或缺的一部分,尤其在大数据量、多列信息的场景下,一个强大的表格插件能够极大地提升用户体验。PQGrid就是这样一款优秀的jQuery表格插件,它...
本文将深入探讨五种广泛使用的表格grid控件,分别是Telerik Kendo UI Grid、jQuery Grid(jqGrid)、Guriddo jqGrid、jqGrid 4.4.3以及Grid JS 2.0.5。 1. **Telerik Kendo UI Grid** Telerik Kendo UI Grid是一款...
在.NET框架中,`PropertyGrid`控件是一个强大的工具,用于在运行时或设计时展示对象的属性,并允许用户交互式地修改这些属性。它在Windows Forms开发中尤其常见,帮助开发者快速创建用户友好的配置界面。下面我们将...
PropertyGrid控件是.NET框架中一个非常实用的组件,它主要用于在Windows Forms应用程序中展示对象的属性,并允许用户进行交互式编辑。这个控件通常用于创建配置或设置界面,因为它可以自动生成一个可定制的、易于...
.net C# PropertyGrid 显示下拉列表 在本文中,我们将讨论如何在 .NET 中使用 PropertyGrid 控件来显示下拉列表,并实现编辑表的各种属性。我们将通过一个自定义控件 CheckedListBoxUC 来实现这个功能。 Property...
在Windows Presentation Foundation (WPF) 中,`Grid`控件是一种布局管理器,常用于创建二维网格结构,其中可以放置其他UI元素。在处理大量数据时,为了提高可读性,我们经常会在`Grid`中实现隔行换色的效果,就像...
《sigma_grid与gt_grid API 使用手册教程全解析》 在当今的数据分析和处理领域,高效且易用的工具是至关重要的。"sigma_grid" 和 "gt_grid" 是两个备受推崇的库,它们提供了强大的数据网格处理功能。这篇教程将深入...