Данные отображаются в dojo dgrid только с renderArray
Со следующим фрагментом кода сетка показывает только заголовки столбцов. Чтобы показать данные, мне нужно добавить последнюю строку. Почему renderArray необходим для отображения данных в сетке?
var data = [
{ first: 'Bob', last: 'Barker', age: 89 },
{ first: 'Vanna', last: 'White', age: 55 },
{ first: 'Pat', last: 'Sajak', age: 65 }
];
var store = new Memory({ data: data });
var grid = new OnDemandGrid({
collection: store,
columns: {
first: 'First Name',
last: 'Last Name',
age: 'Age'
}
});
grid.startup();
//grid.renderArray(data);
2 ответа
Отвечая на мой вопрос: обратитесь к каталогу dgrid1 вместо dgrid.
Какую версию API вы используете? Я просто скопировал / вставил ваш код в JSFiddle, ссылающийся на API 4.1, и он, кажется, работает просто отлично:
https://jsfiddle.net/shenningsgard/udxkuqr1/3/
HTML:
<div id="myGrid"></div>
JS:
require(['dgrid/OnDemandGrid', 'dstore/Memory'], function(OnDemandGrid, Memory) {
var data = [{
first: 'Bob',
last: 'Barker',
age: 89
}, {
first: 'Vanna',
last: 'White',
age: 55
}, {
first: 'Pat',
last: 'Sajak',
age: 65
}];
var store = new Memory({
data: data
});
var grid = new OnDemandGrid({
collection: store,
columns: {
first: 'First Name',
last: 'Last Name',
age: 'Age'
}
}, 'myGrid');
grid.startup();
});
Результат:
First Name Last Name Age
Bob Barker 89
Vanna White 55
Pat Sajak 65