`
lg_asus
  • 浏览: 190748 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

grid

阅读更多
自己写的grid。
$.fn.extend({
	grid:function(url,param, columnList){
		$(this).empty();
		var table=$("<table>").addClass("table table-striped pull-left").css({"table-layout":"fixed"}), thead = $("<thead>"), tbody=$("<tbody>"),tr=$("<tr>")
		table.data("url",url).data('param',param).data("columnList",columnList);
		for(var i=0;i<columnList.length;i++){
			var column=columnList[i];
			tr.append($("<td>").html(column['title']).css(column['css']?column['css']:{}));
		}
		thead.append(tr);
		table.append(thead).append(tbody);
		var pagination = $("<div>").addClass("row").append($("<div>").addClass("pull-left col-sm-6")).append($("<div>").css({"text-align":"right"}).addClass("pull-right col-sm-6").append($("<ul>").addClass("pagination").css("margin-top","-10px")));
		$(this).append(table).append(pagination);
		renderTable($(this).prop("id"),1);
	}
});

function renderTable(id,pageNo){
	var count=0,data,table=$("#"+id).children("table");
	table.data("pageNo",pageNo).data("data",{}).data("count",0);
	table.children("tbody").empty();
	table.next("div").children("div:eq(0)").html("");
	table.next("div").find("ul").empty();
	$.ajax({
		type:'get',
		dataType:'json',
		url:table.data("url"),
		data:table.data("param")?$.extend(table.data("param"),{pageNo:pageNo}):{pageNo:pageNo},
		success:function(result){
			count=result['count']?result['count']:0;
			data=result['data']?result['data']:{};
			table.data('data',data).data("count",count);
			
			var totalPage=Math.floor((count-1)/((table.data("param") && table.data("param")["pageSize"])?table.data("param")["pageSize"]:10)) + 1;
			table.data("totalPage",totalPage);
			var tbody=table.children("tbody");
			var pagination=table.next("div");
			var ul=pagination.find("ul");
			if(totalPage <=0){
				pagination.children("div:eq(0)").text("没有数据");
			}else{
				pagination.children("div:eq(0)").text("共"+count+"条,"+totalPage+"页");
				ul.append($("<li>").append($("<a>").html("«").prop("title","第一页").prop("href","javascript:renderTable('"+id+"',1)")));
				var begin=pageNo-3;
				var end=pageNo+3;
				if(begin<1){
					begin=1;
				}
				if(end>totalPage){
					end=totalPage;
				}
				if(begin>1){
					ul.append($("<li>").addClass("disabled").append($("<a>").html("...")));
				}
				for(var i=begin;i<pageNo;i++){
					ul.append($("<li>").append($("<a>").html(i).prop("href","javascript:renderTable('"+id+"',"+i+")")));
				}
				for(var i=pageNo;i<=end;i++){
					ul.append($("<li>").append($("<a>").html(i).prop("href","javascript:renderTable('"+id+"',"+i+")")));
				}
				if(end<totalPage){
					ul.append($("<li>").addClass("disabled").append($("<a>").html("...")));
				}
				ul.append($("<li>").append($("<a>").html("»").prop("title","最后一页").prop("href","javascript:renderTable('"+id+"',"+totalPage+")")));
			}
			ul.find("li a").each(function(){
				if($(this).text()==pageNo){
					$(this).parent("li").addClass("active");
				}
			});
			var columnList = table.data("columnList");
			for(var i=0;i<data.length;i++){
				tr=$("<tr>");
				for(var j=0;j<columnList.length;j++){
					var column=columnList[j];
					tr.append($("<td>").html(column['template']?column['template'](data[i]):data[i][column['field']]).css(column['css']?column['css']:{}));
				}
				tbody.append(tr);
			}
			
			table.find("td").each(function(){
				$(this).prop("title", $(this).html()).css({"overflow":"hidden","text-overflow":"ellipsis","white-space":"nowrap"});
			});
		}
	});
}


用法:第一个参数是请求url,第二个是请求参数,json格式,第三个是标题列表,有title,field,template,css。template优先级比field高,css是对这列添加样式。
分页参数是pageSize和pageNo。
$("#table").grid("url",{},[{title:'id',field:'boxNum'},{title:'取消时间',template:function(d){return new Date(d['cancelTime']).toLocaleDateString()},css:{width:'800px',color:'green','font-weight':'bolder'}}]);
分享到:
评论

相关推荐

    Sigma-Grid.zip_grid_grid jquery_html jquery_jquery grid

    Sigma Grid 是一个基于 jQuery 的数据网格插件,用于在网页中展示和操作表格数据。它提供了丰富的功能,如分页、排序、过滤、编辑等,适用于各种数据密集型的Web应用。这个压缩包包含了关于 Sigma Grid 的使用指南和...

    UltimateGrid 7.3.zip

    UltimateGrid是一款强大的MFC(Microsoft Foundation Class Library)控件,完全使用C++语言编写,专为商业级应用设计。这款控件以其优秀的性能、高度的可定制性和丰富的功能,深受开发者喜爱。与同类产品如GridCtrl...

    Ag-Grid Demo2.7z

    Ag-Grid是一款强大的数据网格组件,常用于JavaScript和TypeScript项目中,特别是在处理大量数据时,它提供了丰富的功能和优秀的性能。在这个"Ag-Grid Demo2.7z"压缩包中,你将找到一个示例项目,展示了如何在实际...

    最新的GT-Grid vs EXT-Grid例子(超级经典)

    本篇文章将深入探讨两种流行的JavaScript表格组件——GT-Grid和EXT-Grid,并通过对比分析它们的特点、功能和使用场景,以帮助开发者选择最适合项目需求的组件。 GT-Grid与EXT-Grid都是用于构建高性能、可定制的表格...

    Grid布局综合Demo案例

    网格布局(Grid布局)是CSS3中的一个强大工具,它为网页设计提供了二维的、基于网格的布局系统,使得在创建复杂且响应式的页面布局时更加灵活和有序。本综合Demo案例将深入探讨如何利用Grid布局来实现各种复杂的网页...

    Draw-Grid_100_catia插件_catia车线_drawgrid_Draw-Grid下载_catia_

    标题中的“Draw-Grid_100_catia插件_catia车线_drawgrid_Draw-Grid下载_catia_”提到了几个关键元素,分别是“Draw-Grid”,“CATIA 插件”,“catia车线”以及“下载”。这表明我们要讨论的是一个用于CATIA软件的...

    WinForm PropertyGrid用法

    在Windows Forms应用程序开发中,`PropertyGrid`控件是一个强大的工具,它允许用户以图形化的方式查看和修改对象的属性。这个控件主要用于提供一种直观的界面,让用户能够配置对象的属性,通常用于设置控件的外观和...

    propertygrid显示事件

    在.NET Framework中,`PropertyGrid`控件是一个非常强大的工具,用于在用户界面中显示对象的属性,并允许用户进行交互式编辑。这个控件广泛应用于各种应用程序的设置或配置界面,因为它可以自动根据对象的属性生成一...

    Delphi自定义Grid控件

    在Delphi编程环境中,开发自定义Grid控件是一项常见的任务,尤其对于那些希望对界面有更高定制需求的开发者来说。Grid控件是用于显示二维数据的常见组件,它提供了直观的方式来展示表格形式的信息。在本篇文章中,...

    propertyGrid 属性处理演示demo

    在.NET框架中,`PropertyGrid`控件是一个强大的工具,用于显示和编辑对象的属性。这个控件在设计时和运行时都非常有用,因为它能够自动生成一个用户界面,该界面可以展示任何对象的属性,并允许用户进行交互式编辑。...

    WPF PropertyGrid的资料合集

    在Windows Presentation Foundation(WPF)中,`PropertyGrid`是一个非常有用的控件,它允许开发者以网格的形式展示和编辑对象的属性。这个控件通常用于创建用户友好的配置界面或编辑器,使得用户可以直观地修改对象...

    JsGrid官网离线版/离线文档

    **JsGrid离线版文档详解** JsGrid是一款轻量级的JavaScript数据网格插件,它提供了丰富的功能,用于在Web应用中展示和编辑数据。这个离线版文档包含了所有关于JsGrid的重要信息,使得开发者无需互联网连接也能查阅...

    jquery网页表格插件pqgrid-2.4.1.zip

    《jQuery网页表格插件PQGrid 2.4.1详解》 在Web开发中,数据展示是不可或缺的一部分,尤其在大数据量、多列信息的场景下,一个强大的表格插件能够极大地提升用户体验。PQGrid就是这样一款优秀的jQuery表格插件,它...

    5种最流行好用的表格grid控件

    本文将深入探讨五种广泛使用的表格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是一款...

    PropertyGrid的三种使用方法

    在.NET框架中,`PropertyGrid`控件是一个强大的工具,用于在运行时或设计时展示对象的属性,并允许用户交互式地修改这些属性。它在Windows Forms开发中尤其常见,帮助开发者快速创建用户友好的配置界面。下面我们将...

    PropertyGrid控件使用教程

    PropertyGrid控件是.NET框架中一个非常实用的组件,它主要用于在Windows Forms应用程序中展示对象的属性,并允许用户进行交互式编辑。这个控件通常用于创建配置或设置界面,因为它可以自动生成一个可定制的、易于...

    WPF Grid 隔行换色

    在Windows Presentation Foundation (WPF) 中,`Grid`控件是一种布局管理器,常用于创建二维网格结构,其中可以放置其他UI元素。在处理大量数据时,为了提高可读性,我们经常会在`Grid`中实现隔行换色的效果,就像...

    .net C# PropertyGrid 显示下拉列表

    .net C# PropertyGrid 显示下拉列表 在本文中,我们将讨论如何在 .NET 中使用 PropertyGrid 控件来显示下拉列表,并实现编辑表的各种属性。我们将通过一个自定义控件 CheckedListBoxUC 来实现这个功能。 Property...

    sigma_grid api使用手册 教程示例

    《sigma_grid与gt_grid API 使用手册教程全解析》 在当今的数据分析和处理领域,高效且易用的工具是至关重要的。"sigma_grid" 和 "gt_grid" 是两个备受推崇的库,它们提供了强大的数据网格处理功能。这篇教程将深入...

Global site tag (gtag.js) - Google Analytics