Dojox.grid 将新项目添加到存储时dojo网格上出错
我在向商店添加新物品时遇到dojo网格上的问题。 我有:Dojox.grid 将新项目添加到存储时dojo网格上出错,dojox.grid,Dojox.grid,我在向商店添加新物品时遇到dojo网格上的问题。 我有: 包含项目的dojox/grid/EnhancedGrid 选项卡表示项目族的选项卡容器 每次我选择一个选项卡,它都会过滤网格以显示该族,到目前为止一切正常 但我有一个按钮,可以通过一个新窗口向网格中添加一篇新文章。 如果未过滤网格,则没有问题,但如果选择了选项卡,则会出现错误: 网格断言在itemwritestore中失败 同样的错误在FF和IE上,我在互联网上搜索那个错误,但我并没有发现任何相关的东西 我的代码如果有帮助
我的代码如果有帮助
var grid=parent.registry.byId('lagrid');
var items=lagrid.store._arrayOfAllItems;
var item=items[e.rowIndex];
var lestab=parent.registry.byId( 'TabContainerRayon');
var tabsel=lestab.selectedChildWidget.id
var ongletR=tabsel.substring(1,tabsel.length);
if (grid)
{
var storeParent=grid.store;
var itemsParent=storeParent._arrayOfAllItems;
for (i=0 ; i< itemsParent.length ; i++)
{
if (itemsParent[i].col17==idLigne)
{
alert("Article déjà présent");
return false;
}
}
var myNewItem = {
id: grid.rowCount+1,
col2:trim(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"Col5")),
col3:undefined,
col4:undefined,
col5:trim(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"Col6")),
col6:trim(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"Col8")),
col7:undefined,
col8: undefined,
col9: undefined,
col10: 1,
col11: undefined,
col12:trim(lagrid.store.getValue(lagrid.getItem(tabInd[0]),"Col1")),
col13:trim(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"Col2")),
col14:'<A HREF="javascript:addProduit('+ (grid.rowCount)+');" ><IMG border=0 SRC="/'+CheminBase+'/Flag_White.gif"></A>' ,
col15: ongletR,
col16:"<a href=\"javascript:afficheImg("+grid.rowCount+",'"+trim(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"unid"))+"')\"><img src='/" + CheminBase + "/pictures.png?OpenImageResource' border=0></a>",
col17:idLigne ,
col18:trim(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"Col9"))
};
parent.PctPrixTolere.push(parseInt(lagrid.store.getValue(lagrid.getItem(e.rowIndex),"Col7")));
parent.PresenceReleve.push("0");
}
// ajoute l'item dans le store
grid.store.newItem(myNewItem);
grid.store.save();
parent.registry.byId('external').hide();
var grid=parent.registry.byId('lagrid');
var items=lagrid.store.\u arrayOfAllItems;
var项目=项目[e.rowIndex];
var lestab=parent.registry.byId('TabContainerRayon');
var tabsel=lestab.selectedChildWidget.id
var ongletR=tabsel.substring(1,tabsel.length);
如果(网格)
{
var storeParent=grid.store;
var itemsParent=storeParent.\u arrayOfAllItems;
对于(i=0;i
感谢您的帮助好的,多亏了ie调试器,我终于找到了我的错误:) 事实上,我使用了grid.rowCount+1来标识我的新项目,但是如果我单击某个选项卡,我的行数总是少于商店的行数=>与现有行id相同=>断言失败。我将其更改为grid.store.\u arrayOfAllItems.length,效果很好:)