сетка с пустой страницей

отображается пустая страница... пожалуйста, помогите

require(['dojo/_base/lang', 'dojox/grid/DataGrid', 'dojo/data/ItemFileWriteStore', 'dojo/dom', 'dojox/grid/cells/dijit', 'dojo/domReady!'], function (lang, DataGrid, ItemFileWriteStore, dom)
 {

    var datalist = [{
        col1: 123,
        col2: 'X',
        col3: 'A',
        col4: 29.91,
        col5: 1,
        combo:''
    }, {
        col1:321,
        col2: 'Y',
        col3: 'B',
        col4: 9.33,
        col5: 2,
        combo:''
    }, {
        col1: 456,
        col2: 'Z',
        col3: 'C',
        col4: 19.34,
        col5: 1,
        combo: ''
    }

    ];
      var store = new ItemFileWriteStore({
        data: data
    });
    var layout = [{
        'name': 'SNO',
        'field': 'id',
        'width': '100px',
        'editable':'true'
    }, {
        'name': 'Name',
        'field': 'col2',
        'width': '100px',
        'editable':'true'
    }, {
        'name': 'Batch ',
        'field': 'col3',
        'width': '200px',
        'editable':'true'
    }, {
        'name': 'Percent',
        'field': 'col4',
        'width': '150px',
        'editable':'true'
    }, {
        'name': 'stage',
        'field': 'col5',
        'width': '150px',
            'editable':'true'
    }, {
        'name': 'combo',
        'field': 'combo',
        'width': '200px',
        'type': 'dojox.grid.cells.ComboBox',
        'options':['A','B','C'],
        'editable':true
    }];
    var grid = new DataGrid({
        id: 'grid',
        store: store,
        structure: layout,
        rowSelector: '20px'
    });
    grid.placeAt("gridDiv");
    grid.startup();
});

person sree    schedule 06.09.2013    source источник


Ответы (1)


Не знаю, нужен ли вам еще ответ, но когда я смотрю на ваш код, я узнаю одну вещь. Вы определяете массив данных в списке данных:

var datalist = [{
    col1: 123,
    col2: 'X',
     ....
    }];

а затем заполняем данные в хранилище данными:

 var store = new ItemFileWriteStore({
    data: data
});

Очевидно, почему в вашей сетке нет данных, потому что «данные» не существуют, и поэтому в вашей сетке не будут отображаться строки.

Попробуйте это так:

var datalist= { 
      identifier: 'col1',
      items: [
       { col1: 123, col2: 'X',col3: 'A',col4: 29.91,col5: 1,combo:'' },
       { col1: 321, col2: 'Y',col3: 'B',col4: 9,33,col5: 2,combo:'' },
       { col1: 456, col2: 'Z',col3: 'C',col4: 19,34,col5: 1,combo:'' },
      ]
    };

 var store = new ItemFileWriteStore({
    data: datalist
});

Также ваш макет немного странный. У вас нет поля с определенным идентификатором, но вы выбрали его, чтобы создать tableRow?!? Я думаю, вы имеете в виду поле «col1» вместо «id», верно?

Должен выглядеть так:

var layout = [
            {name:"SNO", field: "col1", width:"30%", editable:true },
            {name:"Name", field: "col2", width:"30%", editable:true },
            .....// and so on
            ];

Затем вы можете начать заполнять Сетку.

 var grid = new DataGrid({
            id: 'grid',
            store: store,
            structure: layout,
            rowSelector: '20px'
            },"gridDiv");

            grid.startup();
           });

Надеюсь это немного поможет.

С уважением, Мириам

person MiBrock    schedule 17.09.2013