Json 以编程方式创建DOJOX增强网格时出错

Json 以编程方式创建DOJOX增强网格时出错,json,dojo,dojox.grid.datagrid,dojox.grid,Json,Dojo,Dojox.grid.datagrid,Dojox.grid,我收到“对不起,发生了一个错误”。在渲染我创建的增强网格时 JSON对象是在我试图呈现的requestattribute“dataitems”中设置的 {"items":[{"prinId":"0280","subClientId":"5187","clientId":"9006","sysId":"3759"}],"label":"userId","identifier":"requestId"} 下面是Dojo代码 <script>dojoConfig = {async: tr

我收到“对不起,发生了一个错误”。在渲染我创建的增强网格时

JSON对象是在我试图呈现的requestattribute“dataitems”中设置的

{"items":[{"prinId":"0280","subClientId":"5187","clientId":"9006","sysId":"3759"}],"label":"userId","identifier":"requestId"}
下面是Dojo代码

<script>dojoConfig = {async: true, parseOnLoad: true}</script>
    <script>
    require([
    "dojo/_base/lang", 
    "dojox/grid/EnhancedGrid",  
    "dojo/data/ItemFileWriteStore", 
    "dojo/dom","dojox/grid/cells", 
    "dojox/grid/enhanced/plugins/Pagination", 
    "dojox/grid/enhanced/plugins/NestedSorting",
    "dojo/on",
    "dojo/_base/event",
    "dojo/parser",
    "dojo/_base/array",
    "dojo/dom",
    "dojox/grid/enhanced/plugins/IndirectSelection",
    "dijit/Dialog",
    "dijit/form/Form",
    "dijit/form/TextBox",
    "dijit/form/DateTextBox",
     "dojo/domReady!"],


      function(lang, EnhancedGrid, ItemFileWriteStore, dom,gridCells,Pagination,NestedSorting,on,event,parser,array,dom,IndirectSelection,Dialog,Form){
   var store=new dojo.data.ItemFileReadStore({data: <%=request.getAttribute("dataItems")%>});


   var layout = [{name: 'Client Bank Id', field: 'clientId', width: '130px'},
                    {name: 'Sub Client Bank Id', field: 'subClientId', width: '130px'},
                    {name: 'Sys Id', field: 'sysId', width: '130px'},
                    {name: 'Prin Id', field: 'prinId', width: '220px'}];
            /*create a new grid*/
      var grid = new dojox.grid.EnhancedGrid({
          id: 'grid',
          store: store,
          structure: layout,


           plugins: {
           nestedSorting: true

          /*  pagination: {
                pageSizes: ["25", "50", "100", "All"],
                description: true,
                sizeSwitch: true,
                pageStepper: true,
                gotoButton: true,
                maxPageStep: 3,                            
                position: "bottom"
            }  */
          }


          },document.createElement('div'));
          /*append the new grid to the div*/

   dojo.byId("gridDiv").appendChild(grid.domNode);
   grid.startup();





   });

    </script>
dojoConfig={async:true,parseOnLoad:true}
要求([
“dojo/_base/lang”,
“dojox/grid/EnhancedGrid”,
“dojo/data/ItemFileWriteStore”,
“dojo/dom”、“dojox/grid/cells”,
“dojox/grid/enhanced/plugins/Pagination”,
“dojox/grid/enhanced/plugins/NestedSorting”,
“dojo/on”,
“dojo/_基地/事件”,
“dojo/parser”,
“dojo/_基/阵列”,
“dojo/dom”,
“dojox/grid/enhanced/plugins/IndirectSelection”,
“dijit/Dialog”,
“dijit/form/form”,
“dijit/form/TextBox”,
“dijit/form/DateTextBox”,
“dojo/domReady!”],
函数(lang、EnhancedGrid、ItemFileWriteStore、dom、gridCells、分页、嵌套排序、on、事件、解析器、数组、dom、间接选择、对话框、表单){
var store=new dojo.data.ItemFileReadStore({data:});
var布局=[{name:'客户银行Id',字段:'clientId',宽度:'130px'},
{名称:'子客户银行Id',字段:'子客户Id',宽度:'130px'},
{name:'sysId',field:'sysId',width:'130px'},
{name:'Prin Id',field:'prinId',width:'220px'}];
/*创建一个新网格*/
var grid=new dojox.grid.EnhancedGrid({
id:'网格',
店:店,,
结构:布局,
插件:{
嵌套排序:true
/*分页:{
页面大小:[“25”、“50”、“100”、“全部”],
描述:对,
开关:是的,
是的,
戈托布顿:没错,
maxPageStep:3,
位置:“底部”
}  */
}
},document.createElement('div');
/*将新网格附加到div*/
dojo.byId(“gridDiv”).appendChild(grid.domNode);
grid.startup();
});

Hmmm,这是您的商店定义,特别是标识符的值。这需要是元素名称之一。尝试类似以下存储对象的操作:

var store = new dojo.data.ItemFileReadStore({
  data: {
    "items":[
      {"prinId":"0280", "subClientId":"5187", "clientId":"9006", "sysId":"3759" }
    ],
    "label":"clientId",
    "identifier":"clientId"
  }
});

谢谢一旦我更改了标识符值,它就工作了。