Xpages 尝试创建dojo数据网格时未定义dojox.data
我正在使用XPages并首次尝试创建dojo增强型数据网格。下面是我在网上找到的例子,但我得到了一个错误:“dojox.data未定义”。我几乎找不到关于这个错误的任何信息,所以很明显,它对其他人来说一定很简单。我有点迷路了,有人能告诉我解决这个问题的正确方向吗 我的目标是从ERP系统查询数据,然后将其显示在网格中。然而,我需要让它首先处理硬编码数据 以下是我的xpage来源:Xpages 尝试创建dojo数据网格时未定义dojox.data,xpages,dojox.grid.datagrid,Xpages,Dojox.grid.datagrid,我正在使用XPages并首次尝试创建dojo增强型数据网格。下面是我在网上找到的例子,但我得到了一个错误:“dojox.data未定义”。我几乎找不到关于这个错误的任何信息,所以很明显,它对其他人来说一定很简单。我有点迷路了,有人能告诉我解决这个问题的正确方向吗 我的目标是从ERP系统查询数据,然后将其显示在网格中。然而,我需要让它首先处理硬编码数据 以下是我的xpage来源: <?xml version="1.0" encoding="UTF-8"?> <xp:view xm
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoParseOnLoad="true"
dojoTheme="true">
<xp:this.resources>
<xp:dojoModule name="dojox.grid.EnhancedGrid"></xp:dojoModule>
<xp:dojoModule name="dojox.grid.enhanced.plugins.DnD"></xp:dojoModule>
<xp:dojoModule
name="dojox.grid.enhanced.plugins.NestedSorting">
</xp:dojoModule>
<xp:dojoModule
name="dojox.grid.enhanced.plugins.IndirectSelection">
</xp:dojoModule>
<xp:dojoModule name="dojox.grid.enhanced.plugins.Filter"></xp:dojoModule>
<xp:dojoModule name="dojox.data.ItemFileWriteStore"></xp:dojoModule>
<xp:styleSheet
href="/.ibmxspres/dojoroot/dijit/themes/dijit.css">
</xp:styleSheet>
<xp:styleSheet
href="/.ibmxspres/dojoroot/dojox/grid/resources/Grid.css">
</xp:styleSheet>
<xp:styleSheet
href="/.ibmxspres/dojoroot/dojox/grid/resources/tundraGrid.css">
</xp:styleSheet>
<xp:styleSheet
href="/.ibmxspres/dojoroot/dojox/grid/enhanced/esources/EnhancedGrid.css">
</xp:styleSheet>
<xp:styleSheet
href="/.ibmxspres/dojoroot/dojox/grid/enhanced/esources/tundraEnhancedGrid.css">
</xp:styleSheet>
</xp:this.resources>
<xp:br></xp:br>
<xp:div id="gridDiv"></xp:div>
<xp:eventHandler event="onClientLoad" submit="false">
<xp:this.script>
<xp:executeClientScript>
<xp:this.script><![CDATA[dojo.addOnLoad(function(){
//setup the grid layout, format = {'name': 'columntitle', 'field': 'fieldname'}
var layout = [{
defaultCell: {editable: false, type: dojox.grid.cells._Widget},
rows:[
{'field': "qtno", 'name': "Quote No.", 'width': '20px'},
{'field': "cusno", 'name': "Cust #", 'width': '20px'},
{'field': "cusnm", 'name': "Customer", 'width': '30px'},
{'field': "qtamt", 'name': "Quote Amt", 'width': '20px'},
]
}]
//setup data store
var data = {
identifier: 'id',
items: []
};
//setup data array of strings, format = {fieldname: "strvalue", fieldname: numvalue}
var data_list = [
{ qtno: "Q01234", cusno: "4419", cusnm: "ABC Corporation", qtamt: 29.91},
{ qtno: "Q42198", cusno: "3308", cusnm: "Acme Company", qtamt: 9.33},
{ qtno: "Q11095", cusno: "7041", cusnm: "XYZ Industries", qtamt: 19.34}
];
//default the rows
var rows = 100;
//populate the store with the data array of strings
for(var i=0, l=data_list.length; i<rows; i++){
data.items.push(dojo.mixin({ id: i+1 }, data_list[i%l]));
}
var store = new dojox.data.ItemFileWriteStore({data: data});
//define the grid
var grid = new dojox.grid.EnhancedGrid({
id: 'grid',
query: {},
store: store,
structure: layout,
rowSelector: '20px',
autoHeight: 25
}, '#{id:gridDiv}');
//create it
grid.startup();
})
]]></xp:this.script>
</xp:executeClientScript>
</xp:this.script></xp:eventHandler></xp:view>
下面是错误:
TypeError: dojox.data is undefined
Stack trace:
view__id1__id3_clientSide_onClientLoad/<@http://domsvr3.mphassoc.com/dev/MiscDev.nsf/DataGrid.xsp:87:9
TypeError:dojox.data未定义
堆栈跟踪:
查看客户端加载上的dojox.data资源应该是dojo.data。使用dojo.data
,因为它不再是实验性dojo包dojox的一部分。是dojo.data而不是dojox.data吗?根据我找到的示例,它是dojox。这里有一个例子:我的道歉,劳斯滕先生。。。你完全正确。数据资源实际上应该是dojo.data。感谢您快速准确的评估。祝你周末愉快!很高兴听到。我补充了一个你可以接受的答案。那么,我可以再问你一个问题吗?我现在有了一个网格,排序工作正常。但是,当我单击Filter按钮时,dojo提示窗口都被挤在一起,无法读取。dojo提示符无法调整大小,因此无法使用。你知道为什么吗?嗨,鲍勃,我建议你问一个新问题