Я пытаюсь повторно загрузить данные в хранилище, которое в дальнейшем используется GridPanel.Мой код выглядит так:
Ext.onReady(function(){
myData = [
['document','listsk','123','','','rat'],
['hiiiii','himself','rest','','','lap']
];
// create the data store
store = new Ext.data.SimpleStore({
fields: [
{name: 'cat'},
{name: 'desc'},
{name: 'edcsId'},
{name: 'transformedEDCSUrl'},
{name: 'transformedFormatsUrl'},
{name: 'lineNotes'}
]
});
store.loadData(myData);
// create the Grid
grid = new Ext.grid.GridPanel({
store: store,
columns: [
{header: "<b>Category</b>", sortable: true, dataIndex: 'cat'},
{header: "<b>Description or Document Title</b>", sortable: true, dataIndex: 'desc'},
{header: "<b>EDCS ID #</b>", sortable: true, renderer: renderEDCSUrl, dataIndex: 'edcsId'}
{header: "<b>URLs to Formats</b>", renderer: renderFormatsUrl},
{id: 'lineNotes', header: "<b>Line Notes</b>", sortable: true, dataIndex: 'lineNotes'}
],
viewConfig: {
forceFit: true
},
autoExpandColumn: 'lineNotes',
stripeRows: true,
collapsible: true
})
reload = function refreshGrid(data){
store.loadData(data);
}
})
Переменная mydata, видимая Firebug, выглядит так:
[
['document','listsk','123','','','rat'],
['hiiiii','himself','rest','','','lap']
]
И переменная данных в функции javascript refreshGrid также такая же:*
Я вызываю функцию refreshGrid следующим образом:
function load(response) {
reload(response.substring(response.indexOf('myData') + 9,
response.indexOf('function renderABC') - 2));
}
Для меня это выглядит как проблема с синтаксическим анализом JSON, поскольку данные поступают из бэкэнда нормально.Какой самый лучший способ для анализа строки JSON, поступающей из бэкэнда.Поведение при вызове javascript store.loadData
заключается в том, что каждый символ в переменной данных рассматривается как отдельная строка в таблице, как показано ниже: