Как создать меньший магазин Dojo из основного магазина Dojo и поддерживать синхронизацию обоих? - PullRequest
1 голос
/ 24 февраля 2012

У меня есть главный магазин, такой как:

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,
      ..............

Во-первых, ссылка kids в kidsData не работает, так как dojo выдает ошибку при рендеринге kidsGrid.

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

1 Ответ

0 голосов
/ 24 февраля 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...