前台页面部分:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>gird绑定JSON数据案例</title>
<!-- 表格样式 -->
<style type="text/css">
@import "js/dojo-release-1.1.0/dojox/grid/_grid/Grid.css";
@import "js/dojo-release-1.1.0/dojo/dijit/themes/tundra/tundra.css";
@import "js/dojo-release-1.1.0/dojox/grid/_grid/tundraGrid.css";
@import "js/dojo-release-1.1.0/dojo/resources/dojo.css"
</style>
<!-- 导入dojo库 -->
<script type="text/javascript" src="js/dojo-release-1.1.0/dojo/dojo.js" djConfig="parseOnLoad: true"></script>
<!-- 导入组件包 -->
<script type="text/javascript">
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojox.grid.Grid");
dojo.require("dojox.grid._data.model");
</script>
<!-- 获取JSON数据,并绑定到表格 -->
<script type="text/javascript">
//通过后台获取JSON数据(url可以使jsp也可以使Servlet或是Struts的action)
//var dataStore = new dojo.data.ItemFileReadStore({url: "jsondata.jsp"});
var dataStore = new dojo.data.ItemFileReadStore({url: "./json.do?page=12"});
//设置数据用于测试(identifier:'id'表示标识列)
//var myData = {identifier:'id',items:[{id:'1',name:'张三',age:'26'},{id:'2',name:'李四',age:'27'},{id:'3',name:'王五',age:'28'},{id:'4',name:'赵六',age:'29'}]};
//var dataStore = new dojo.data.ItemFileReadStore({data: myData});
//将数据绑定到模型
var model = new dojox.grid.data.DojoData(null, dataStore, {query:{ id :'*' }, clientSort:true});
//表格结构
var layout = [
{cells: [[
{name: '编号', width: "25%", field: "id"},
{name: '姓名', width: "50%", field: "name"},
{name: '年龄', width: "25%", field: "age"}
]]}
];
</script>
</head>
<body >
<!-- 将数据模型和列头绑定到表格层 -->
<div class="tundra" id="grid" dojoType="dojox.Grid" model="model" structure="layout"></div>
</body>
</html>
后台Action传输JSON数据
package org.sp.struts.action;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
/**
* 后台JSON数据
* @author 无尽de华尔兹
*
*/
public class JsonAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
System.out.println(request.getParameter("page"));
String data = "{identifier:'id',items:[{id:'1',name:'张三1',age:'26'},{id:'2',name:'李四2',age:'27'},{id:'3',name:'王五3',age:'28'},{id:'4',name:'赵六4',age:'29'},{id:'5',name:'刘二5',age:'29'},{id:'6',name:'马七6',age:'29'}]}";
response.getWriter().write(data);
return null;
}
}
dojo 1.1.0 学习总结
七. gird绑定JSON数据案例
1.导入样式,库,组件包
<!-- 表格样式 -->
<style type="text/css">
@import "js/dojo-release-1.1.0/dojox/grid/_grid/Grid.css";
@import "js/dojo-release-1.1.0/dojo/dijit/themes/tundra/tundra.css";
@import "js/dojo-release-1.1.0/dojox/grid/_grid/tundraGrid.css";
@import "js/dojo-release-1.1.0/dojo/resources/dojo.css"
</style>
<!-- 导入dojo库 -->
<script type="text/javascript" src="js/dojo-release-1.1.0/dojo/dojo.js" djConfig="parseOnLoad: true"></script>
<!-- 导入组件包 -->
<script type="text/javascript">
dojo.require("dojo.data.ItemFileReadStore");
dojo.require("dojox.grid.Grid");
dojo.require("dojox.grid._data.model");
</script>
注:样式可以有2种,
1.tundra
2.tundraGrid
可以在div层中指定
2.获取JSON数据,并绑定到表格
<!-- 获取JSON数据,并绑定到表格 -->
<script type="text/javascript">
//1.通过后台获取JSON数据(url可以使jsp也可以使Servlet或是Struts的action)
var dataStore = new dojo.data.ItemFileReadStore({url: "data.jsp"});
//2.通过设置数据用于测试(identifier:'id'表示标识列)
//var myData = {identifier:'id',items:[{id:'1',name:'张三',age:'26'},{id:'2',name:'李四',age:'27'},{id:'3',name:'王五',age:'28'},{id:'4',name:'赵六',age:'29'}]};
//var dataStore = new dojo.data.ItemFileReadStore({data: myData});
//将数据绑定到模型
var model = new dojox.grid.data.DojoData(null, dataStore, {query:{ id :'*' }, clientSort:true});
//表格结构
var layout = [
{cells: [[
{name: '编号', width: "25%", field: "id"},
{name: '姓名', width: "50%", field: "name"},
{name: '年龄', width: "25%", field: "age"}
]]}
];
</script>
注:
1.获取后台JSON数据的方式
var dataStore = new dojo.data.ItemFileReadStore({url: "data.jsp"});
//var dataStore = new dojo.data.ItemFileReadStore({url: "./json.do"});
提示:如果使用的是servlet或是Struts的action,并且数据有中文会出现乱码,只要在action中设置UTF-8编码就能解决,如 下:
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String data = "{identifier:'id',items:[{id:'1',name:'张三1',age:'26'},{id:'2',name:'李四2',age:'27'},{id:'3',name:'王五3',age:'28'},{id:'4',name:'赵六4',age:'29'},{id:'5',name:'刘二5',age:'29'},{id:'6',name:'马七6',age:'29'}]}";
response.getWriter().write(data);
提示:url: "./json.do?page=12"可以传参数到Action
2. 直接写一个JSON对象的方式
//var myData = {identifier:'id',items:[{id:'1',name:'张三',age:'26'},{id:'2',name:'李四',age:'27'},{id:'3',name:'王五',age:'28'},{id:'4',name:'赵六',age:'29'}]};
//var dataStore = new dojo.data.ItemFileReadStore({data: myData});
JSON格式提示:identifier:'id' 标识要写,如果绑定到模型var model = new dojox.grid.data.DojoData(null, dataStore)这样写的话,可以省略identifier:'id',items:
3.将数据绑定到模型
var model = new dojox.grid.data.DojoData(null, dataStore, {query:{ id :'*' }, clientSort:true});
其中指定按id查询并提供客户端排序
4.表格视图结构
{name: '编号', width: "25%", field: "id"},
name表示显示的列名
width表示列的宽度
field表示要绑定的字段(该字段是JSON中的key)
3.将数据模型和列头绑定到表格层
<body >
<!-- 将数据模型和列头绑定到表格层 -->
<div class="tundra" id="grid" dojoType="dojox.Grid" model="model" structure="layout"></div>
</body>
注:
1.model表示绑定数据模型
2.structure表示绑定数据结构
3. class="tundra"可以指定2种样式:tundra和tundraGrid。也可以将样式加在body上如:
<body class="tundraGrid">
分享到:
相关推荐
在本话题中,我们将深入探讨如何实现GridView的动态绑定数据集以及如何在多线程环境下安全地更新UI,同时监控运行状态。 首先,动态绑定数据集是GridView的一个关键特性,允许我们根据需要实时加载和显示数据。在C#...
在"**Echarts参数属性学习Gird演示案例**"中,我们将重点探讨如何使用ECharts的Gird组件来在同一DOM元素内同时展示多种图表,以实现高效的数据呈现和API接口的优化对接。 **Gird组件**是ECharts中用于定义图表区域...
ASP.NET 数据绑定是ASP.NET开发中的核心概念,它允许开发者将网页控件(如GridView)与数据源(如SQL Server数据库)关联,实现数据的动态显示、编辑和管理。在这个"ASP.NET 数据绑定 GridView Demo"中,我们主要...
GT-GIRD是一款杰出的前端表格组件,专为构建高效、响应式的数据展示界面而设计。在Web开发领域,尤其是在处理大量数据的展示时,选择一款性能优异、功能强大的表格组件至关重要。GT-GIRD以其轻量级、快速以及免费的...
使用Doc/View架构的GIRD,意味着你可以处理更复杂的数据模型,例如,支持多个视图查看同一份数据,或者在不同窗口间同步数据更改。 对于"CGridCtrl_demo226"这个文件,这可能是一个特定版本的GIRD控件演示程序,...
在本篇文章中,我们将深入探讨如何在NUI或MiniUI框架中的Datagrid组件实现合并重复行数据,并且介绍如何在这些合并后的数据中查找特定行的功能。本文将分为几个部分来详细阐述:首先,理解Datagrid的基本概念及其在...
JsonReader用于解析服务器返回的JSON数据,其中`root`属性表示数据数组的位置,`totalProperty`表示总数据量的属性名。 接下来,我们要实现动态加载的关键部分:监听Store的`load`事件。当用户滚动到底部时,我们...
【exejs gird filter java action】是一个专题,主要涉及了前端数据展示库ExeJS、Grid组件、过滤功能以及后端处理数据的Java Action技术。这个整合资料集合可能包括了一个Web应用项目,用于演示如何在Java后端和前端...
2. **定义删除行为**:为Grid添加一个删除按钮或右键菜单,绑定删除操作。在触发删除事件时,获取选中的行或记录ID。 3. **发送删除请求**:利用Ext.Ajax或Ext.data.Store的`remove`方法,传入要删除的记录,然后...
总结,Silverlight中的DataGrid动态绑定Dictionary列表涉及到动态列创建、数据绑定、转换器的使用以及事件处理。通过合理利用这些技术,我们可以创建出灵活且适应性强的数据展示界面。在实际项目中,可以根据具体...
【标题】"VC-MS-GIRD.rar" 是一个基于Visual C++(简称VC)开发的电子表格应用程序,它模仿了MS OFFICE中的表格处理软件,如Microsoft Excel的风格。这个项目名为"CellDemo _MS GIRD_gird_表格 excel vc_表格 vc",...
这涉及到两个核心知识点:DataGrid的模板列使用和数据绑定。 首先,我们要理解DataGrid的模板列(TemplateColumn)。模板列允许开发人员自定义列的显示方式,而不是仅仅局限于文本或简单格式的数据。在这个例子中,...
本例采用PHP,json, sqlite,来显示一个EXT3.0的Grid,需要PHP环境,可以用xampp集成包。 部署后访问http://localhost/ExtSample/employee.php
在服务器端,你需要提供一个返回JSON数据的接口。例如,使用PHP,你可能有这样的代码: ```php header('Content-Type: application/json'); $data = [ // 数据数组... ]; echo json_encode($data); ?> ``` Liger...
selenium gird 资源part2
Gird网格布局学习笔记分享
selenium gird资源selenium gird资源part1
《深入解析LigerUI中的Grid控件》 在Web开发领域,前端框架的使用极大地提升了开发效率和用户体验。...在WebSites文件夹中,你可以找到相关的代码示例和实践案例,进一步加深对LigerUI Grid的理解和应用。
Ext Grid 是一个强大的数据展示组件,常用于在Web应用程序中展示结构化数据。在Ext Grid中,滚动条功能是至关重要的,特别是在处理大量数据时,它允许用户在不改变窗口大小的情况下浏览数据。本篇文章将深入探讨Ext ...
ng-grid是AngularJS的一个插件,它提供了丰富的功能,如数据绑定、排序、过滤、分页和自定义列模板等。这个组件以高性能和灵活性著称,使得处理大量数据变得更加容易。 **2. 安装ng-grid** 首先,你需要通过npm或...