Dojo - Как обновить комбинированный список обновленными данными ItemFileReadStore - PullRequest
1 голос
/ 05 июня 2011

Я изменил ItemFileReadStore для выпадающего списка в Dojo.Мой код выглядит примерно так:

    <span dojoType="dojo.data.ItemFileReadStore"
                jsId="comboStore"
                data="transformData">
            <select dojoType="mywidget.DropDown" id="transformCombo" value="" store="comboStore" searchAttr="name" name="state" maxHeight="100"/>

Мой виджет похож на виджет комбинированного списка Dojo.Я изменил transformData, но поле со списком не обновляется, пока страница не будет полностью перезагружена.Есть идеи?

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

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

Вот код, который я использую для обновления dojox.grid.DataGrid при обновлении содержимого на стороне сервера:

// initialise store and link to DataGrid
var store = new dojo.data.ItemFileReadStore({
    url: "items.json",
    clearOnClose: true,
    urlPreventCache: true
});
var grid = dijit.byId("grid")
grid.setStore(store);

// code to update local copy
store.close();
store.fetch({
    onComplete: function(items, request) {
        grid._refresh();
    }
});

Если вы изменяете сторону клиента данных, вы, вероятно, должны использовать ItemFileWriteStore как АндрейРекомендуется.

Редактировать: grid.sort() может использоваться для обновления DataGrid в качестве альтернативы grid._refresh() (чье поведение может со временем меняться)

0 голосов
/ 06 июня 2011

Как обновить ItemFileReadStore? ItemFileReadStore - это хранилище данных только для чтения. В вашем случае вы должны использовать ItemFileWriteStore. Посмотрите этот вопрос " dijit.form.filteringselect динамически изменять параметры ". Я думаю, это то, что вы ищете.

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