Инициализация GridPanel и ArrayStore с пустым массивом не работает - PullRequest
1 голос
/ 22 августа 2010

Когда я инициализирую свой ArrayStore с некоторыми данными, тогда я могу вставить новые записи, и все отображается правильно.Однако, если я инициализирую ArrayStore пустым массивом, тогда, пока первая вставленная запись работает, каждая последующая вставка перезаписывает первую запись в сетке.Это кажется простой проблемой, но я не могу найти рабочий способ инициализации сетки как пустой.

Так что я делаю не так?

Большое спасибо заранее!

var myData = [
    // Initializing with the following element works.
    //['Hyannis Connector',3456.9,'Hyannis Connector Bridle Path','Hyannis Connector/Baden Powell'],
    // Initializing with this element works but leaves an empty row in the grid..
    //[]
];

// create the data store
segmentStore = new Ext.data.ArrayStore({
    fields: [
       {name: 'trailName'},
       {name: 'segmentLength', type: 'float'},
       {name: 'startJunction'},
       {name: 'endJunction'},
    ]
});

// manually load local data
segmentStore.loadData(myData);

// create the Grid
segmentGrid = new Ext.grid.GridPanel({
    region: 'south',
    store: segmentStore,
    columns: [
        {header: 'Trail Name', width: 140, sortable: true, dataIndex: 'trailName'},
        {header: 'Segment Length', width: 75, sortable: true, dataIndex: 'segmentLength'},
        {header: 'Start Junction', width: 75, sortable: true, dataIndex: 'startJunction'},
        {header: 'End Junction', width: 75, sortable: true, dataIndex: 'endJunction'},            
    ],
    stripeRows: true,
    height: 150,
    width: 600,
    title: 'Trail Segments in Route',
    layout: 'fit'      
});

var defaultData = {
            trailName: segment.getTrailName(),
            segmentLength: segment.getLength(),
            startJunction: '',
            endJunction: ''
        };
        var recId = 3; 
        var p = new segmentStore.recordType(defaultData, recId); 
        segmentStore.insert(0, p);

1 Ответ

0 голосов
/ 23 августа 2010

Ответ был предоставлен на форуме ExtJS. Мне нужно было убедиться, что идентификатор новой записи отличается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...