Extjs, кнопка удаления - PullRequest
       1

Extjs, кнопка удаления

0 голосов
/ 28 ноября 2010

в этом примере: http://dev.sencha.com/deploy/dev/examples/grid/progress-bar-pager.html Если я хочу поставить кнопку удаления, после удаления строки из сетки, как я могу изменить или удалить эту запись из myData?Потому что, когда я изменяю страницу или нажимаю кнопку «Обновить», моя строка / строка снова появляется снова.Есть ли решение для изменения данных?

большое спасибо

Ответы [ 3 ]

4 голосов
/ 28 ноября 2010

Что-то вроде:

var grid = ...; // Your grid.

var button = new Ext.Button({
    text: 'Delete row',
    handler: function() {
        var record = grid.getSelectionModel().getSelected();

        if (record !== undefined) {
            grid.store.remove(record);
        }
    }
});

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

proxy: new Ext.ux.data.PagingMemoryProxy(myData),

Вы можете попробовать удалить это и поставить

url: 'http://localhost/path/to/get/data'

Для получения дополнительной информации см. Документацию: http://dev.sencha.com/deploy/dev/docs/?class=Ext.data.Store

1 голос
/ 28 ноября 2010

Если вы посмотрите на источник этого примера, он загружает данные из массива с жестким кодом:

Ext.onReady(function(){

        var myData = [
                ['3m Co',71.72,0.02,0.03,'9/1 12:00am'],
                ['Alcoa Inc',29.01,0.42,1.47,'9/1 12:00am'],
                ['Altria Group Inc',83.81,0.28,0.34,'9/1 12:00am'],
                // ...
                ['Verizon Communications',35.57,0.39,1.11,'9/1 12:00am'],
                ['Wal-Mart Stores, Inc.',45.45,0.73,1.63,'9/1 12:00am']
        ];

myData воссоздается из этого статического определения при каждой загрузке страницы, поэтому изменения не сохраняются между обновлениями.

Вам необходимо написать два серверных сценария (например, PHP-сценарии). Один выводит данные не удаленных записей в формате JSON или XML. Другой удаляет записи из базы данных по идентификатору.

Вот учебник, который охватывает написание PHP-скрипта "getter" и соответствующего кода Ext JS для отображения сетки данных о технологических продуктах: http://www.devarticles.com/c/a/JavaScript/EXT-JS-Passing-Live-Data/. Это относится только к первому скрипту (тот, из которого извлекаются данные базы данных и выводить ее в формате JSON), но она должна помочь вам. Рассмотрим переопределение обратного вызова remove хранилища с помощью функции, которая выдает запрос AJAX ко второму сценарию (который удаляет записи из базы данных по идентификатору).

0 голосов
/ 30 ноября 2010

это решение myData.splice (1,1);

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