`
独善其身008
  • 浏览: 171403 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

Gird绑定JSON数据案例

阅读更多
前台页面部分:
<%@ 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">
分享到:
评论

相关推荐

    DevExpress的GridView动态绑定数据集,多线程动态修改UI自动刷新

    在本话题中,我们将深入探讨如何实现GridView的动态绑定数据集以及如何在多线程环境下安全地更新UI,同时监控运行状态。 首先,动态绑定数据集是GridView的一个关键特性,允许我们根据需要实时加载和显示数据。在C#...

    Echarts参数属性学习Gird演示案例

    在"**Echarts参数属性学习Gird演示案例**"中,我们将重点探讨如何使用ECharts的Gird组件来在同一DOM元素内同时展示多种图表,以实现高效的数据呈现和API接口的优化对接。 **Gird组件**是ECharts中用于定义图表区域...

    ASP.NET 数据绑定 GridView Demo

    ASP.NET 数据绑定是ASP.NET开发中的核心概念,它允许开发者将网页控件(如GridView)与数据源(如SQL Server数据库)关联,实现数据的动态显示、编辑和管理。在这个"ASP.NET 数据绑定 GridView Demo"中,我们主要...

    GT-GIRD,一个很优秀的GIRD前台组件

    GT-GIRD是一款杰出的前端表格组件,专为构建高效、响应式的数据展示界面而设计。在Web开发领域,尤其是在处理大量数据的展示时,选择一款性能优异、功能强大的表格组件至关重要。GT-GIRD以其轻量级、快速以及免费的...

    Gird.zip mfc 写的GIRD 源码

    使用Doc/View架构的GIRD,意味着你可以处理更复杂的数据模型,例如,支持多个视图查看同一份数据,或者在不同窗口间同步数据更改。 对于"CGridCtrl_demo226"这个文件,这可能是一个特定版本的GIRD控件演示程序,...

    nui或者miniui中gird合并重复行数据,查找某行

    在本篇文章中,我们将深入探讨如何在NUI或MiniUI框架中的Datagrid组件实现合并重复行数据,并且介绍如何在这些合并后的数据中查找特定行的功能。本文将分为几个部分来详细阐述:首先,理解Datagrid的基本概念及其在...

    Extjs2.0动态加载gird的例子

    JsonReader用于解析服务器返回的JSON数据,其中`root`属性表示数据数组的位置,`totalProperty`表示总数据量的属性名。 接下来,我们要实现动态加载的关键部分:监听Store的`load`事件。当用户滚动到底部时,我们...

    exejs gird filter java action

    【exejs gird filter java action】是一个专题,主要涉及了前端数据展示库ExeJS、Grid组件、过滤功能以及后端处理数据的Java Action技术。这个整合资料集合可能包括了一个Web应用项目,用于演示如何在Java后端和前端...

    ssh+extjs4.0grid删除数据

    2. **定义删除行为**:为Grid添加一个删除按钮或右键菜单,绑定删除操作。在触发删除事件时,获取选中的行或记录ID。 3. **发送删除请求**:利用Ext.Ajax或Ext.data.Store的`remove`方法,传入要删除的记录,然后...

    silverlight datagrid动态绑定dictionary 列表

    总结,Silverlight中的DataGrid动态绑定Dictionary列表涉及到动态列创建、数据绑定、转换器的使用以及事件处理。通过合理利用这些技术,我们可以创建出灵活且适应性强的数据展示界面。在实际项目中,可以根据具体...

    VC-MS-GIRD.rar_CellDemo _MS GIRD_gird_表格 excel vc_表格 vc

    【标题】"VC-MS-GIRD.rar" 是一个基于Visual C++(简称VC)开发的电子表格应用程序,它模仿了MS OFFICE中的表格处理软件,如Microsoft Excel的风格。这个项目名为"CellDemo _MS GIRD_gird_表格 excel vc_表格 vc",...

    gird模板列的创建

    这涉及到两个核心知识点:DataGrid的模板列使用和数据绑定。 首先,我们要理解DataGrid的模板列(TemplateColumn)。模板列允许开发人员自定义列的显示方式,而不是仅仅局限于文本或简单格式的数据。在这个例子中,...

    EXT JSON Grid示例

    本例采用PHP,json, sqlite,来显示一个EXT3.0的Grid,需要PHP环境,可以用xampp集成包。 部署后访问http://localhost/ExtSample/employee.php

    LigerUI之Grid使用详解(一)——显示数据

    在服务器端,你需要提供一个返回JSON数据的接口。例如,使用PHP,你可能有这样的代码: ```php header('Content-Type: application/json'); $data = [ // 数据数组... ]; echo json_encode($data); ?&gt; ``` Liger...

    selenium gird 资源part2

    selenium gird 资源part2

    Gird网格布局学习笔记分享

    Gird网格布局学习笔记分享

    selenium gird资源

    selenium gird资源selenium gird资源part1

    ligerui之gird

    《深入解析LigerUI中的Grid控件》 在Web开发领域,前端框架的使用极大地提升了开发效率和用户体验。...在WebSites文件夹中,你可以找到相关的代码示例和实践案例,进一步加深对LigerUI Grid的理解和应用。

    ext Gird 有滚动条功能

    Ext Grid 是一个强大的数据展示组件,常用于在Web应用程序中展示结构化数据。在Ext Grid中,滚动条功能是至关重要的,特别是在处理大量数据时,它允许用户在不改变窗口大小的情况下浏览数据。本篇文章将深入探讨Ext ...

    ng-gird.rar

    ng-grid是AngularJS的一个插件,它提供了丰富的功能,如数据绑定、排序、过滤、分页和自定义列模板等。这个组件以高性能和灵活性著称,使得处理大量数据变得更加容易。 **2. 安装ng-grid** 首先,你需要通过npm或...

Global site tag (gtag.js) - Google Analytics