Мне нужно решение этой ошибки "TypeError: this._arrayOfTopLevelItems не определено" при использовании ItemFileReadStore с JSONObject - PullRequest
0 голосов
/ 30 декабря 2011

У меня есть проект портлета, использующий json, dojo.Я получаю сообщение об ошибке «TypeError: this._arrayOfTopLevelItems не определено», если я заполняю DataGrid с помощью ItemFileReadStore, заполненного из JSONObject, переданного из контроллера в jsp в модели (см. Data1).Для отладки я обнаружил, что если я распечатываю содержимое JSONObject на консоль, а затем загружаю хранилище с этим содержимым в виде строки (см. Data4), я не получаю сообщение об ошибке.Я исследовал ошибку и обнаружил, что она возникла, если вы не указали идентификатор в данных json, но я его предоставляю.

function initalizeAddPoliciesStore () {

    //use when returning a JSONObject ???
    var data1 = '${multiArrangementCaseInfo}';  
    var addPoliciesStore1 = new dojo.data.ItemFileReadStore({ data: data1 });


    var data4 = {"items":[{"nextDate":"12/27/2011","nextBillAmount":"10.03","policy":"12345678","owner":"Smith, A","insured":"Smith, J","prior2PaidAmount":"42.08","priorPaidAmount":"34.05"}],"identifier":"policy"};      
    var addPoliciesStore4 = new dojo.data.ItemFileReadStore({ data: data4 });


    addPoliciesGrid = new dojox.grid.DataGrid({
        id : '<portlet:namespace/>addPoliciesGrid',
        query : {
            policy : '*'
        },
        store : addPoliciesStore1,
        structure : displayMCOMLayout
    }, '<portlet:namespace/>addPoliciesGridTableId');

    // Call startup, in order to render the grid:
    addPoliciesGrid.startup();      
}
...