`
niuka
  • 浏览: 51587 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jqGrid 使用总结

阅读更多

      最近,使用了一个挺不错的数据展示插件,是基于jquery的,发现这个插件功能好强大,使用上也还不错,虽然没有使用extjs那么好用,但是这个插件更加轻量级一些。

      上周又碰到了之前碰到过类似的问题,想找一个东西,到网上乱找,都没找到,后来发现自己做过类似的东西,但是没有记载下来,导致。事实又一次证明了,懒人是不行的!

      不扯了,使用jqGrid其实很简单,附上比较简单的代码

jsp 页面放上这两个标签,用来显示表格,跟分页标签
<table id="list"></table>
<div id="pager"></div>


var listOptions = {
	colNames : ['ID', 'Name'],
	colModel : [{
				name : 'id',
				index : 'id',
				width : 55,
				editable : false,
				hidden : true,
				editoptions : {
					readonly : true,
					size : 10
				}
			}, {
				name : 'name',
				index : 'name',
				width : 90,
				editable : true,
				editoptions : {
					size : 20
				},
				editrules: { required: true}
			},{
				name : 'school',
				index : 'school',
				width : 90,
				editable : true,
				edittype : "select",
				editoptions : {
					dataUrl : getContentPath() + 'a.do?abbreviation&.rand=' + Math.random()
				},
				editrules: { required: true}
			}],
	// caption : "List",
	height : 348,
	width : 600,
	viewrecords : true,
	multiselect : false,
	pager : '#pager',
	rowNum : 100,
	rownumbers : true,
	headertitles : true,
	sortname : 'id',
	url : 'query.do',
	editurl : "edit.do",
	datatype : "json",
	sortorder : "desc",
	pginput : false,
	pgbuttons : false,
	jsonReader : {
		repeatitems : false
	}
};
function init() {

	jQuery("#list").jqGrid(listOptions);
	jQuery("#list").jqGrid('navGrid', '#pager', {
				edit : true,
				add : true,
				del : true,
				search : false
			}, // options
			{
				editCaption : "Edit",
				top : "0",
				left : "310",
				jqModal : false,
				reloadAfterSubmit : true,
				afterShowForm : function(form) {
					$("#etdDate").datepicker({
						dateFormat : "yy-mm-dd"
					});
				},
				afterSubmit : function(response, postdata) {
					var message= getMessage(response);
					if(message&&message.name=='validation'){
						return [false,message.message] ;
					}else {
						return [true,''] ;
					}
				}
			}, // edit options
			{
				addCaption : "add",
				top : "0",
				left : "310",
				jqModal : false,
				reloadAfterSubmit : true,
				afterShowForm : function(form) {
					$("#etdDate").datepicker({
						dateFormat : "yy-mm-dd"
					});
				},
				afterSubmit : function(response, postdata) {
					var message= getMessage(response);
					if(message&&message.name=='validation'){
						return [false,message.message]; 
					}else {
						return [true,''] ;
					}
				}
			}, // add options
			{
				reloadAfterSubmit : true
			}, // del options
			{} // search options
			);
	jQuery("#list").jqGrid('setLabel', 'name', '', {
				'text-align' : 'left'
			});

}
$(function() {
			init();
		});

 效果当然很简单,一个列表,一个分页标签,增删改查都有了。

  这不是重点,重点是jqgrid的一些常用的命令。

 

  命令1  jQuery("#list").jqGrid('getCol','styleNumber',false);

    说明:获得jqGrid的一列,好像第一个值是空的,所以遍历的时候,记得在for循环里面if(obj){} 一下。

  命令2  jQuery("#list").getGridParam('selarrrow'); 

     说明:获得jqGrid你选择的多行的记录的id列的值,好像第一个值也是空的。所以最好先判断一下。这个命令使用的前提是你的jqGrid的multiselect 是设置多选。

  命令3  jqGrid.jqGrid('getGridParam', 'selrow')

    说明:获得你选中的行记录的单个id

  命令4  $(listId).jqGrid('restoreRow', this.lastsel)

     说明:把一行处于编辑状态的行变成非编辑状态,但是我发现好像这种方式不能保存你编辑的值,这真让人头疼。

   命令5  $(listId).jqGrid('editRow', id, true, null, null, null, null, function() {
         DataControl.setNewStyleInfoFromRemote(id);
         return true;
        });

     说明: 把一行置于编辑状态。但是编辑状态之后,他得value 就变成了'<input type=*** value='**'>',所以你保存的时候拿这个value的时候还得要处理一下$(row[i].propertityName).val();就可以拿到你想要的值了。

 

除了一些有用的命令之外,还有一些有用的总结。

1如果你的某一个属性对应的是一个文本域,那么如何调整这个文本域的宽度,跟高度呢?呵呵 设置rows : "6",
    cols : "68" 这连个属性即可。

   

分享到:
评论
1 楼 咯咯傻傻 2014-10-30  
你好,楼主,请问 afterSubmit函数的 getMessage是如何定义的?

相关推荐

    jqGrid 中文大全(2)

    - `jqGrid使用总结 - 做强做大做自己 - JavaEye技术网站.mht` 包含了作者的使用经验分享。 - `jQuery grid plung's Documentation - 程序人生 提供数据深度挖掘服务 - CSDN博客.mht` 提供了 jqGrid 的官方文档翻译...

    JQGrid例子

    总结起来,JQGrid是JavaScript开发中用于构建数据网格的强大工具,具有丰富的功能和高度的可定制性。通过理解和掌握JQGrid的使用,开发者可以创建出高效、美观且功能完备的数据展示和操作界面。

    jquery jqgrid

    总结来说,这份“jqGrid完整版”是一份宝贵的资源,无论你是初学者还是经验丰富的开发者,都能从中受益。通过学习和实践,你将能够利用jqGrid的强大功能,提升Web应用的数据管理和用户体验。记得,动手实践是掌握...

    jqgrid序列

    总结来说,jqGrid是一个强大且灵活的前端数据管理工具,适用于需要展示大量结构化数据的Web应用。通过其丰富的配置选项、事件和方法,开发者可以轻松构建功能完善的表格应用,同时,其优秀的性能和易用性使得jqGrid...

    jquery.jqgrid最新版

    总结:jQuery.jqGrid是一款功能强大的表格组件,其全面的数据处理能力使得它在Web开发中占据了重要地位。通过深入学习和灵活运用,开发者可以构建出高效、美观的数据管理界面,提升用户体验。理解并熟练掌握jqGrid的...

    jqueryGridDemo jqGriddemo38

    总结来说,“jqueryGridDemo jqGriddemo38”这个项目是一个全面的jqGrid实践教程,涵盖了从基础配置到高级功能的方方面面,包括本地数据和远程数据的加载、数据的处理和展示、以及用户交互的实现。通过学习这些示例...

    jqgrid_doc

    总结来说,jqGrid是一个功能强大的jQuery插件,为Web开发提供了高效的数据展示和管理工具。它的强大功能和易用性使其成为许多企业和个人开发者的首选解决方案。通过深入学习和应用jqGrid,开发者能够构建出更加交互...

    jqgrid实现分组显示和统计

    总结,jqGrid的分组显示和统计功能提供了强大的数据组织和分析能力,结合自定义格式和统计函数,可以灵活地满足各种数据展示需求。通过合理配置和优化,可以创建出高效且用户友好的数据展示界面。在实际应用中,应...

    jqGrid使用范例

    总结来说,jqGrid是一个强大的前端表格组件,能很好地与Java后端服务(如Servlet、Struts2)集成,提供高效的数据展示和操作。通过学习这些范例,开发者可以了解如何在实际项目中应用jqGrid,实现动态、交互式的数据...

    jqGrid表头锁列及排序功能细节

    jqGrid 是一个强大的 jQuery 插件,...总结,jqGrid 提供了强大的列标题定制、列锁定和排序功能,极大地增强了表格的可用性和功能性。通过理解和运用这些特性,开发者可以构建出符合用户需求的高效数据展示和操作界面。

    jquery.jqGrid-4.4.5

    总结,jQuery.jqGrid-4.4.5作为一款强大的前端数据管理工具,凭借其丰富的功能、优秀的用户体验以及与jQuery UI的深度融合,成为了Web开发中不可或缺的一部分。无论是简单的数据展示还是复杂的业务操作,jqGrid都能...

    jqgrid 3.3.2

    总结,jqGrid 3.3.2凭借其强大的功能、良好的性能和丰富的定制选项,成为jQuery生态系统中不可或缺的数据网格组件。通过不断优化和改进,它为开发者提供了高效的数据管理解决方案,是构建现代Web应用的理想选择。...

    jqGrid demo

    总结来说,jqGrid 是一个功能强大的 jQuery 表格插件,适合处理大量数据并提供各种交互功能。"jqGrid demo"为你提供了一个实践和学习 jqGrid 的起点,通过探索和理解这些示例,你将能够熟练地应用 jqGrid 到实际项目...

    第一个jqGrid例子

    总结起来,jqGrid是一个功能丰富的jQuery插件,适用于构建数据密集型Web应用。通过学习和实践这个"第一个jqGrid例子",开发者可以掌握基本的表格展示、数据操作和用户交互,为进一步深入使用和定制jqGrid奠定基础。

    jqgrid_位于上端的合计行.

    总结来说,jqGrid 的上端合计行功能通过启用 `footerrow`,定义 `colModel` 的 `summaryType`,并利用 `loadComplete` 或 `gridComplete` 回调函数进行数据计算和更新,可以帮助我们快速高效地展示列表数据的总计,...

    jqGrid 演示最新版 jqgrid 4.4, jQuery 1.8.0, jQuery-ui 1.8.23

    总结起来,jqGrid是一个强大的数据网格插件,结合jQuery和jQuery UI,提供了丰富的功能来处理和展示数据。与Struts框架的集成使其在企业级应用中更具优势,而HTML5的支持则确保了其在现代Web环境中的兼容性和性能。...

    javascript中的jqgrid相关使用文档

    ### JavaScript中的jqGrid相关使用文档 #### 一、概述 jqGrid是一款基于jQuery的表格插件,用于在网页上展示大量的动态数据,并提供强大的数据处理功能。本文档旨在详细介绍jqGrid的基本配置、常用属性、事件及...

    jqgrid JSP例子

    本教程将基于JSP(Java Server Pages)环境,详细介绍如何集成并使用jqGrid,为Java开发者提供一个实用的参考。 ### jqGrid简介 jqGrid是一个开源的Web表格组件,它支持Ajax加载、分页、排序、搜索、编辑等功能。...

    jqgrid行编辑+动态为其他列赋值

    总结起来,实现"jqgrid行编辑+动态为其他列赋值"涉及了前端交互设计、JavaScript编程、jqGrid API的熟练应用以及后端数据处理。理解和掌握这些知识点,对于开发功能丰富的数据驱动Web应用至关重要。在实际项目中,应...

Global site tag (gtag.js) - Google Analytics