Json 以编程方式创建DOJOX增强网格时出错
我收到“对不起,发生了一个错误”。在渲染我创建的增强网格时 JSON对象是在我试图呈现的requestattribute“dataitems”中设置的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
{"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"
}
});
谢谢一旦我更改了标识符值,它就工作了。