这2个月刚换单位,比较赶进度.很久不更新blog,今天抽空看了一下jqGrid,因为现在工作环境又迁到java了,但是是1.4的呵呵,所以封装了一个jqGrid的数据源,方便使用
ps: 需要json-simple
点我
package com.javaeye.rikugun.jqGrid;
import java.io.IOException;
import java.io.Writer;
import java.util.LinkedList;
import java.util.List;
import org.json.simple.JSONAware;
import org.json.simple.JSONObject;
import org.json.simple.JSONStreamAware;
/**
* jqGrid 的数据源类
*
* @author rikugun
*
*/
public class JqGridDataSource implements JSONAware, JSONStreamAware {
private int records = 0;
private int page = 0;
private int total = 0;
private List rows = new LinkedList();
private JSONObject json = new JSONObject();
/**
* 添加一行记录
*
* @param row
* 输出的记录
* @return 当前数据源,方便链式写法 ds.add("a row").add("other row");
*/
public JqGridDataSource addRow(String row) {
rows.add(row);
return this;
}
/**
* 添加一行记录
*
* @param obj
* JSON对象,转换成字符串
* @return 当前数据源,方便链式写法 ds.add(obj1).add(obj2);
*/
public JqGridDataSource addRow(JSONObject obj) {
rows.add(obj.toJSONString());
return this;
}
/**
* 构造json对象
*/
private void build() {
json.put("records", new Integer(records));
json.put("page", new Integer(page));
json.put("total", new Integer(total));
json.put("rows", rows);
}
public int getRecords() {
return records;
}
public void setRecords(int records) {
this.records = records;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public List getRows() {
return rows;
}
public void setRows(List rows) {
this.rows = rows;
}
public String toJSONString() {
build();
return json.toJSONString();
}
public void writeJSONString(Writer out) throws IOException {
build();
json.writeJSONString(out);
}
}
//usage
//..........
Map m = new LinkedHashMap();
m.put("name","rikugun");
m.put("phone","1323xxxxxxx");
JSONObject obj = new JSONObject();
obj.put("name","rikugun1");
obj.put("phone","1323xxxxxxx");
new JqGridDataSource ds = new JqGridDataSource();
ds.setPage(1);
ds.setTotal(1);
ds.add(JSONValue.toJSONString(m));
ds.add(obj);
System.out.println(ds.toJSONString());
//or
ds.writeJSONString(System.out);
//result {"page":1,"total":1,"records":2,"rows":[{"name":"rikugun","phone":"1323xxxxxxx"},{"name":"rikugun1","phone":"1323xxxxxxx"}]}
回头有空再写个1.5的
分享到:
相关推荐
2. 创建Web服务或API:为了响应JqGrid的请求,你需要在C#中创建一个Web服务(如ASMX或WCF服务)或者API(如Web API)。这个服务将处理数据的检索、添加、更新和删除操作。 3. 配置JqGrid:在HTML页面中,使用jQuery...
对于动态加载数据的需求,我们可以封装一个函数,根据当前页数和每页数量从服务器获取数据,然后更新 jqGrid。 ```javascript function loadPageData(grid, page, rows) { var params = { page: page, rows: rows ...
在.Net环境中,trirand.net为ASP.NET WebForms开发人员提供了一个封装好的jqGrid控件,使得在.NET平台上使用jqGrid变得更为便捷。 ### 1. trirand.net jqGrid .Net控件介绍 trirand.net的jqGrid .Net控件是将...
jQgrid 是一个功能强大且灵活的表格控件,能够将数据动态地展示在网页上,并提供了丰富的编辑、增删查改、分类显示等功能。下面是对 jQgrid 的详细介绍: jQgrid 包说明 jQgrid 主要由以下几个包组成: 1. jquery...
jqGrid 是一个强大的JavaScript库,专门用于在Web页面上创建交互式的数据表格。这个"jqGrid-master"压缩包是该库的最新版本,从官方英文站点下载,为用户提供了便捷的获取途径。jqGrid主要用于展示和操作数据,尤其...
在实际应用中,JqGrid的配置通常包括定义列信息、设置数据源和加载参数等。例如,你可以设定每列的标题、宽度、是否可排序等属性,通过`colModel`参数来定义。同时,使用`url`参数指定获取数据的服务器端接口,并...
- **初始化**:在JavaScript中初始化jqGrid,设置数据源、列信息等参数。 3. **基本使用示例** ```html <table id="grid"></table> <div id="pager"></div> ``` ```javascript $(document).ready(function ...
`$("#list")`是jQuery的选择器,用于选取ID为`list`的DOM元素,这通常是一个表格元素(`<table>`),在jqGrid中,它被用来封装数据网格。调用`jqGrid`函数实际上是将这个DOM元素转换为jqGrid实例,从而可以利用...
JQGrid的数据源可以是JSON或XML格式,这与ASP.NET MVC的RESTful服务非常契合。 **三、创建模型(Model)** 首先,我们需要定义一个模型类,比如`Employee`,包含员工的基本信息字段,如ID、姓名、职位等。这个模型...
4. **配置 jqGrid**:在HTML页面中,引入jqGrid的JavaScript和CSS文件,然后使用jQuery初始化jqGrid,设置列名、数据源、操作按钮等参数。 5. **AJAX通信**:利用jQuery的AJAX方法,向服务器发送请求获取数据或提交...
这里,`JqGridParam` 是一个封装了 jqGrid 请求参数的类,`getData()` 方法根据参数查询数据并返回 JSON 格式的结果。 ### 注意事项: 1. **版本兼容**:确保所使用的 jqGrid 版本与 jQuery 版本兼容。 2. **安全...
然后,你需要创建一个HTML表格元素,并为其添加`id`属性,这将是jqGrid的容器。 ```html <table id="grid"></table> <div id="pager"></div> ``` ### 2. 初始化jqGrid 使用JavaScript初始化jqGrid,设置数据源、...
另一方面,jqGrid是一个流行的JavaScript数据网格插件,用于展示和操作大量结构化数据,提供了丰富的功能,如排序、分页、搜索、编辑等。 标题"jstl4jqgrid"暗示我们将探讨如何利用JSTL来封装和简化jqGrid的使用。...
jqGrid 支持多种数据源格式(如 JSON、XML),并且提供了丰富的功能,包括但不限于排序、分页、搜索、编辑等。 - **jquery.js**:这是 jQuery 库的核心文件,所有的 jqGrid 功能都基于此库实现。 - **jquery.jqGrid...
3. **jqGrid在Bootstrap中的模块化**:为了保持代码的整洁和可维护性,通常会将jqGrid的相关配置和脚本封装在一个单独的JS文件中。例如,可以创建一个`my_pay_list.js`文件,初始化表格、设置事件监听器以及处理数据...
你可以创建一个模型类来代表jqGrid要显示的数据实体。 四、jqGrid高级特性 - 表格操作:jqGrid支持行选择、编辑、添加、删除等操作,可以实现复杂的数据交互。 - 自定义列:你可以自定义列的显示样式、编辑模式、...
假设我们有一个`User`实体类,包含如id、name、email等属性,这些属性将作为查询条件。 3. **设计Mapper接口和XML文件**: 创建`UserMapper`接口,定义一个按条件分页查询的方法,例如`List<User> ...
数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段 兼容目前最流行浏览器(IE8+、Chrome、Firefox、360浏览器) 1、前端技术 JS框架:...
支持多数据源,简单properties配置即可实现,为了安全性吧,暂不提供界面维护数据源,不存数据库。 数据表主键优化,如分类科目表,采用有意义的主键方式,让客户去自定义,减少后期运维维护成本。 实体@Table注解...