Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从主dojo存储创建较小的dojo存储并保持两者同步?_Dojo_Dojox.grid - Fatal编程技术网

如何从主dojo存储创建较小的dojo存储并保持两者同步?

如何从主dojo存储创建较小的dojo存储并保持两者同步?,dojo,dojox.grid,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 v

我有一个主商店,比如:

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


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

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

恐怕你得亲自处理这些关系。例如,在编辑子项后单击“验证”时,您将遍历它们,然后更新JRS,然后更新JRS.save()

我无法帮助您,但让我们看看您的一些代码是否正确。可能会有帮助。