如何从主dojo商店创建较小的dojo商店并保持两者同步

  • 本文关键字:dojo 同步 创建 dojo dojox.grid
  • 更新时间 :
  • 英文 :


我有一个主存储,比如:

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

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

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

恐怕你将不得不亲自处理这些关系。例如,在编辑子项后单击validate时,您将循环浏览它们,然后更新JRS,然后更新JRS.save()

相关内容

  • 没有找到相关文章

最新更新