ストアに新しいアイテムを追加するときに道場グリッドの問題で立ち往生しています。私が持っている :
- 記事を含む dojox/grid/EnhancedGrid
- タブが記事のファミリーを表す tabcontainer。
タブを選択するたびに、グリッドがフィルタリングされてそのファミリが表示されます。これまでのところ、すべて正常に機能しています。
しかし、新しいウィンドウから新しい記事をグリッドに追加できるボタンがあります。グリッドがフィルタリングされていない場合は問題ありませんが、タブを選択した場合はエラーが発生します: grid assertion failed in 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();
ご協力いただきありがとうございます