Dojo中的DataGrid,来自servlet的json数据 [英] DataGrid in Dojo , with json data from a servlet

查看:166
本文介绍了Dojo中的DataGrid,来自servlet的json数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我第一次使用JSON ...
并希望用我的JSON数据填充我的datagrid,
这是我的JSON数据:

I am using JSON for first time... and want to fill my datagrid with my JSON data, this is my JSON data :

{
  "head": {
    "vars": [ "s" , "fname" , "lname" ]
  } ,
  "results": {
    "bindings": [
      {
        "s": { "type": "uri" , "value": "http://tn.gov.in/Person/41" } ,
        "fname": { "type": "literal" , "value": "Gayathri" } ,
        "lname": { "type": "literal" , "value": "Vasudevan" }
      } ,
      {
        "s": { "type": "uri" , "value": "http://tn.gov.in/Person/37" } ,
        "fname": { "type": "literal" , "value": "Magesh" } ,
        "lname": { "type": "literal" , "value": "Vasudevan" }
      } ,
      {
        "s": { "type": "uri" , "value": "http://tn.gov.in/Person/39" } ,
        "fname": { "type": "literal" , "value": "Vasudevan " } ,
        "lname": { "type": "literal" , "value": "Srinivasan" }
      }
    ]
  }
}

我想显示 fname lname 在数据网格中我该怎么办?
可以给出一个适用于上述JSON的示例代码?我尝试了很多例子,我得到一个空白网格

I want to display fname and lname in the data grid how should I so it? can any one give a sample code which works for above JSON? I tried a lot with examples , i am getting a blank grid

推荐答案

这里的关键是你需要转换你的数据首先在dojo网格中使用它之前。

The key point here is that you need to transform your data first before using it in dojo grid.

现场演示可以在这里

dojo.require("dojox.grid.DataGrid");
dojo.require("dojo.data.ItemFileReadStore");

dojo.addOnLoad(function() {
    var data = { "head": { "vars": [ "s" , "fname" , "lname" ] } , "results": { "bindings": [ { "s": { "type": "uri" , "value": "http://tn.gov.in/Person/41" } , "fname": { "type": "literal" , "value": "Gayathri" } , "lname": { "type": "literal" , "value": "Vasudevan" } } , { "s": { "type": "uri" , "value": "http://tn.gov.in/Person/37" } , "fname": { "type": "literal" , "value": "Magesh" } , "lname": { "type": "literal" , "value": "Vasudevan" } } , { "s": { "type": "uri" , "value": "http://tn.gov.in/Person/39" } , "fname": { "type": "literal" , "value": "Vasudevan " } , "lname": { "type": "literal" , "value": "Srinivasan" } } ] } };

    var items = dojo.map(data.results.bindings, function(binding) {
        return {fname : binding.fname.value, lname : binding.lname.value};
    });

    var store =  new dojo.data.ItemFileReadStore({
        data : {
          items : items
        }
    });

    _createGrid(store);

    function _createGrid(store) {
        var layout = _getGridLayout(),
            node = dojo.create("div", {}, dojo.byId("grid"), "only");
        var grid = new dojox.grid.DataGrid({
            store : store,
            structure : layout,
            rowsPerPage: 10
        }, node);
        grid.update();
        grid.startup();
        return grid;
   }

   function _getGridLayout() {
      return [[
          { field : "fname", name : "First Name", width : "50%"},
          { field : "lname", name : "Last Name", width : "50%" }
      ]];
   }
});

这篇关于Dojo中的DataGrid,来自servlet的json数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆