Данные отображаются в 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
Другие вопросы по тегам