2012-02-24 1 views
1

У меня есть мастер-магазин, как:Как создать небольшой магазин додзё из главного магазина додзё и сохранить синхронизацию?

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.

Во-вторых, предположим, что я хочу удалить элемент (row или kid) в kidsStore, я хочу, чтобы этот ребенок также был удален из mainStore. Есть ли хорошее решение, которое работает?

+0

** Я не могу вам помочь **, но давайте посмотрим [ В jsfiddle] (http://jsfiddle.net/m6g9L/) некоторые из ваших кодов не верны. Могу помочь. – OammieR

ответ

0

Во-первых, ItemFileWriteStore и JsonRestStore не работают с одинаковыми структурами. IFWS использует только массивы, тогда как JRS использует сочетание массивов/объектов.

Боюсь, вам придется управлять отношениями вручную. Например, при нажатии на проверку после редактирования детей вы пропустите их, затем обновите JRS, затем JRS.save()

Смежные вопросы