`
Clayz
  • 浏览: 297088 次
  • 性别: Icon_minigender_1
  • 来自: 东京
社区版块
存档分类
最新评论

jqGrid初学备注

阅读更多

最近刚刚从ExtJS转到JQuery,对于我这个大多数时间都写后台的人始终不是件太简单的事。不过看了几本JQuery的书,上网Google了一大堆插件,真是觉得当初悔不该选ExtJS这个死板的东东下手学习。

 

客户要一个类似ExtJS Grid的列表,自己写吧闲麻烦,找了个jqGrid的插件看了下,发现这东西确实不错,ExtJS Grid有的功能它基本上都有了,有些甚至还超出了我的预想。就是不知道实际应用起来如何,稳不稳定,暂且再当一次小白鼠吧。

 

http://www.trirand.com/blog/?page_id=6 ,先去官网上下下来,解压后把js和css目录下的文件拷到工程目录,另外该插件还需要JQuery UI,将JQuery,JQuery UI一并拷到目录下:

 

 

以下是各文件内容

 

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>
        <link rel="stylesheet" type="text/css" media="screen" href="css/ui-smoothness/jquery-ui-1.7.2.custom.css" />
        <link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
        <scrip src="js/jquery-1.3.2.min.js" type="text/javascrip"></scrip>
        <scrip src="js/jquery-ui-1.7.2.min.js" type="text/javascrip"></scrip>
        <scrip src="js/plugin/jqGrid/i18n/grid.locale-en.js" type="text/javascrip"></scrip>
        <scrip src="js/plugin/jqGrid/jquery.jqGrid.min.js" type="text/javascrip"></scrip>
        <scrip src="js/index.js" type="text/javascrip"></scrip>
        <style>
            body {font-size: 12px;}
        </style>
    </head>
    <body>
        <div id="content">
            <table id="colch"></table>
            <div id="pcolch"></div>
            <div id="filter" style="margin-left:30%;display:none">Search Invoices</div>
        </div>
    </body>
</html>
 

index.js

$(document).ready(function() {
	var $mygrid = $("#colch").jqGrid( {
		url : 'table.xml',
		datatype : "xml",
		autowidth : true,
		viewrecords : true,
		sortable : true,
		rowNum : 10,
		height : '100%',
		pager : '#pcolch',
		sortname : 'invdate',
		sortorder : "desc",
		ExpandColumn : 'note',
		caption : "Column Chooser Example",
		rowList : [ 10, 20, 30 ],
		colNames : [ 'Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes' ],
		colModel : [ {
			name : 'id',
			index : 'id',
			editable : true,
			editoptions : {
				readonly : true,
				size : 10
			},
			width : 55
		}, {
			name : 'invdate',
			index : 'invdate',
			editable : true,
			searchoptions : {
				dataInit : function(el) {
					$(el).datepicker( {
						dateFormat : 'yy-mm-dd'
					});
				}
			},
			width : 90
		}, {
			name : 'name',
			index : 'name asc, invdate',
			editable : true,
			width : 100
		}, {
			name : 'amount',
			index : 'amount',
			editable : true,
			width : 80
		}, {
			name : 'tax',
			index : 'tax',
			editable : true,
			width : 80
		}, {
			name : 'total',
			index : 'total',
			editable : true,
			width : 80
		}, {
			name : 'note',
			index : 'note',
			editable : true,
			sortable : false
		} ]
	});

	$mygrid.jqGrid('navGrid', '#pcolch', {
		view : true,
		search : false
	}, {
		// edit options
		height : 290,
		reloadAfterSubmit : false,
		jqModal : false,
		closeOnEscape : true,
		bottominfo : "Fields marked with (*) are required"
	}, {
		// add options
		height : 290,
		reloadAfterSubmit : false,
		jqModal : false,
		closeOnEscape : true,
		bottominfo : "Fields marked with (*) are required",
		closeAfterAdd : true
	});

	// toggle search row button
	$("#colch").jqGrid('navButtonAdd', "#pcolch", {
		caption : "Toggle",
		title : "Toggle Search Toolbar",
		buttonicon : 'ui-icon-pin-s',
		onClickButton : function() {
			$mygrid[0].toggleToolbar();
		}
	});

	// clean search value button
	$("#colch").jqGrid('navButtonAdd', "#pcolch", {
		caption : "Clear",
		title : "Clear Search",
		buttonicon : 'ui-icon-refresh',
		onClickButton : function() {
			$mygrid[0].clearToolbar();
		}
	});

	// select display column button
	$("#colch").jqGrid('navButtonAdd', '#pcolch', {
		caption : "Columns",
		title : "Reorder Columns",
		onClickButton : function() {
			jQuery("#colch").jqGrid('columnChooser', {
				done : function(perm) {
					if (perm) {
						this.jqGrid("remapColumns", perm, true);
						var gwdth = this.jqGrid("getGridParam", "width");
						this.jqGrid("setGridWidth", gwdth);
					}
				}

			});
		}
	});

	$("#colch").jqGrid('filterToolbar');
});
 

table.xml

<?xml version="1.0" encoding="UTF-8"?>
<rows>
    <page>1</page>
    <total>3</total>
    <records>56</records>
    <row id='1'>
        <cell>1</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='2'>
        <cell>2</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='3'>
        <cell>3</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='4'>
        <cell>4</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='5'>
        <cell>5</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='6'>
        <cell>6</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='7'>
        <cell>7</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='8'>
        <cell>8</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='9'>
        <cell>9</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
    <row id='10'>
        <cell>10</cell>
        <cell>2010-01-23</cell>
        <cell>test</cell>
        <cell>note</cell>
        <cell>200.00</cell>
        <cell>10.00</cell>
        <cell>210.00</cell>
    </row>
</rows>
 

以下是最终效果截图

 

查看

 

添加

 

编辑

 

搜索

 

自定义显示列

 

  • 大小: 27.5 KB
  • 大小: 30.9 KB
  • 大小: 33.6 KB
  • 大小: 35.4 KB
  • 大小: 37.2 KB
  • 大小: 39.5 KB
  • 大小: 36 KB
分享到:
评论
1 楼 zjf_sdnu 2012-02-10  
兄弟,script写错了

相关推荐

    JqGrid插件+JqGridDemo+JqGrid主题

    JqGrid是一款强大的JavaScript表格插件,用于在Web应用程序中展示和操作数据。它基于jQuery库,提供了丰富的功能,如数据排序、筛选、分页、编辑、添加、删除和保存等,极大地增强了网页中表格的交互性和数据管理...

    jqgrid中文文档API

    jQgrid中文文档API jQgrid是一个功能强大且流行的JavaScript插件,用于创建交互式表格。它基于jQuery库,提供了许多强大的功能,例如排序、过滤、编辑、分页等,使得开发者可以快速创建复杂的表格应用程序。本文将...

    JqGrid中文API文档

    JqGrid是一款强大的JavaScript数据网格组件,用于在Web应用程序中展示和操作数据。它基于jQuery库,提供了丰富的功能,如分页、排序、过滤、编辑和格式化数据。本中文API文档将帮助开发者深入理解并有效利用JqGrid的...

    jqgrid +bootstrap4.0 直接使用

    这对于初学者和寻求快速解决方案的开发者来说非常方便。 在标签 "jqgrid" 中,我们可以推测这个压缩包主要关注 jqGrid 的使用,可能涵盖了基本功能的实现,如数据加载、列定义、事件处理等。jqGrid 支持多种数据源...

    jqGrid4.8.2 jqgrid_demo40

    jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...

    jqGrid4.6完整包

    jqGrid 是一个强大的 jQuery 插件,用于在网页上创建、操作和展示数据。这个"jqGrid4.6完整包"包含了所有你需要的组件来构建功能丰富的、可编辑的表格。以下是关于 jqGrid 4.6 版本的一些关键知识点: 1. **jqGrid ...

    jqgriddemo,样式漂亮,可以直接使用

    对于初学者来说,可以从以下几个方面入手: 1. **安装和引入**:了解如何将jqGrid添加到HTML页面中,以及需要引用哪些CSS和JS文件。 2. **配置表格**:学习如何定义表格的列、数据源、操作按钮等基本属性。 3. **...

    jqGrid中文文档.doc

    jqGrid 是一个基于 jQuery 的数据网格插件,用于在网页上展示和操作表格化的数据。在开始使用 jqGrid 之前,需要具备基本的 JavaScript 和 jQuery 知识,因为 jqGrid 是构建在 jQuery 库之上的。jQuery 提供了简便的...

    jqGrid_api中文文档

    根据提供的文件信息,我们可以提取出关于jqGrid的知识点,具体如下: 1. jqGrid基础概念 jqGrid是一个用于Web应用程序的JavaScript表格插件,它遵循典型的B/S(浏览器/服务器)架构。在这种架构中,服务器端负责...

    jqGrid 4.6和4.7版本

    jqGrid是一款功能强大的jQuery插件,专用于在Web页面上展示和操作表格数据。它以其高效、灵活和可定制性而受到开发者的广泛欢迎。在jqGrid 4.6和4.7这两个版本中,我们可以深入探讨一些核心知识点: 1. **数据网格...

    jqGrid5.X 官方全Demo下载

    jqGrid 是一个强大的 jQuery 插件,用于在网页上创建、操作和展示数据表格。它提供了丰富的功能,如数据分页、排序、过滤、编辑和更多。本资源为 jqGrid5.X 的官方全Demo下载,包含中文文档和离线演示,用户可以在...

    jquery.jqgrid最新版

    《jQuery.jqGrid详解——打造高效数据管理界面》 jQuery.jqGrid是一款强大的JavaScript插件,主要用于构建数据密集型Web应用程序,特别是在展示和操作大量结构化数据时。它以其丰富的功能集、高度可定制性和易用性...

    jQgrid demo

    在本"jQgrid demo"中,我们将深入探讨如何利用 jQGrid 实现交互式的数据展示和操作。 jQGrid 的核心特性包括: 1. **数据加载与显示**:jQGrid 支持从服务器或本地数据源动态加载数据,并以表格形式展示。它可以...

    jqGrid demo (完整版)

    jqGrid 是一个基于 jQuery 的数据网格插件,用于在网页上展示和操作大量结构化数据。这个"jqGrid demo (完整版)"提供了一个全面的示例,可以帮助开发者更好地理解和应用 jqGrid,无论是在 PHP 或 JSP 环境中。 1....

    jqGrid5.5 版本

    jqGrid是一款功能强大的JavaScript数据网格插件,专为Web应用程序设计,用于展示和操作大量结构化数据。在jqGrid5.5版本中,它提供了一系列的改进和新特性,使得数据管理和用户界面更加高效和易用。以下是关于jqGrid...

    jqGrid3.6.rar

    总的来说,这个压缩包为学习和使用jqGrid 3.6提供了全面的资源,无论是初学者还是有经验的开发者,都能从中受益。通过深入理解文档和实践应用,可以熟练掌握jqGrid的功能,提升Web应用的数据展示和管理能力。

    jqGrid4.6.0 jqgrid_demo40

    jquery.jqGrid-4.6.0(jquery表格插件).zip----------jqGrid4.6.0包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载...

    jqgrid4.6.rar

    jqGrid 是一个基于 jQuery 的开源网格插件,用于在网页上展示和操作数据。这个压缩包 "jqgrid4.6.rar" 包含了 jqGrid 4.6.0 版本,它是一个稳定且功能丰富的表格展示工具,广泛应用于Web开发中数据管理的场景。以下...

    jqGrid for ASP.NET 4.0

    10. **README**:README.TXT文件通常包含项目的基本说明和使用指南,对于初学者来说,它是理解jqGrid如何在ASP.NET 4.0环境中工作的关键。 掌握jqGrid for ASP.NET 4.0需要熟悉jQuery、ASP.NET AJAX、Web服务调用...

Global site tag (gtag.js) - Google Analytics