2012-02-24 94 views
1

我有一個主店,如:如何從主dojo商店創建較小的dojo商店並保持同步?

var data = { 

    identifier: "pkid", 
    items: [ {pkid: 3456, name: "Tom", kids: [ {pkid: 3459, kidname: "Jenny"}, {pkid: 45698, kidname: "Jimmy"} ] 
    } 

    var mainStore = new ItemFileWriteStore({data: data}); 

    var mainGrid = new var grid = new dojox.grid.DataGrid({ 
     id: 'grid', 
     store: store, 
     structure: layout, 
     rowSelector: '20px'}, 
     document.createElement('div')); 

    /*append the new grid to the div*/ 
    dojo.byId("maingridDiv").appendChild(grid.domNode); 

    /*Call startup() to render the grid*/ 
    grid.startup(); 

    var selectedRow = mainGrid.getItem(0); 

    var kids = mainStore.getValues(selectedRow, "kids"); 

var kidsData = 

{ 

    identifier: "pkid", 
    items: kids 
    } 

    var kidsStore = new ItemFileWriteStore({data: kidsData}); 

    var kidsGrid = ........ 
     store: kidsStore, 
     .............. 

首先在kidsData所有參考的孩子不作爲道場工作呈現kidsGrid時拋出錯誤。

其次假設我要刪除kidsStore項目(行或孩子),我想那小子從mainStore也被刪除。有沒有很好的解決方案?

+0

**我不能幫你的所有的**,但讓我們來看看[在jsfiddle](http://jsfiddle.net/m6g9L/) 你的一些代碼不正確。可能會有所幫助。 – OammieR 2012-02-24 07:57:43

回答

0

首先,ItemFileWriteStore和JsonRestStore不能使用相同的結構。 IFWS僅使用數組,而JRS使用數組/對象的混合。

恐怕你必須手工管理關係。例如,編輯後的孩子上驗證一下時,你會通過他們循環,然後更新JRS,然後JRS.save()