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 中的引用 kids 不起作用,因为 dojo 在渲染 kidsGrid 时会抛出错误。

其次,假设我想删除 kidsStore 中的一个项目(行或孩子),我希望该孩子也从 mainStore 中删除。有没有很好的解决方案?

4

1 回答 1

0

首先,ItemFileWriteStore 和 JsonRestStore 不能使用相同的结构。IFWS 仅使用数组,而 JRS 使用数组/对象的混合。

恐怕你将不得不手动管理这些关系。例如,在编辑孩子后单击验证时,您将遍历它们,然后更新 JRS,然后是 JRS.save()

于 2012-02-24T08:30:03.163 回答