2017-02-09 5 views
1

Когда ı нажала кнопку, не работая с обновлением. Если целью является добавление к кнопке буфера базы данных, нажмите, чтобы выйти на экран. Но не обновляется. Я создал datagrid с ajax. Я также написал функцию обновления в ViewModel. Что может быть причиной не возобновления. Мои данные - json.dxDataGrid - Как обновить виджет

$.ajax({ 
 
     type: "GET", 
 
     url: "https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems" 
 
     success: function (msg, result, status, xhr) { 
 
     var obj = jQuery.parseJSON(msg); 
 
     $("#gridContainer").dxDataGrid({ 
 
     dataSource: obj, 
 
     filterRow: { 
 
     visible: true}});}}); 
 
     var viewModel = { 
 
     refresh: function() {   
 
     var dataGrid = $('#gridContainer').dxDataGrid('instance'); 
 
     dataGrid.refresh();}}; 
 
return viewModel;
<div data-options="dxView : { name: 'dd',disableCache: true } " > 
 
    <div data-bind="dxCommand: { icon: 'refresh', id: 'save', onExecute: refresh }"></div> 
 
    <div data-options="dxContent : { targetPlaceholder: 'content' } " > 
 
     
 
     <div id="gridContainer"></div> 
 
     
 
      </div> 
 
</div>

+1

Какова цель вызова метода обновления для экземпляра сетки данных? Вы меняете динамически измененный источник данных? Что вы ожидаете от вызова метода обновления? Если вы инициализируете сетку в своем вызове ajax только один раз, нет смысла обновлять сетку. –

+0

@AlexSkorkin Могу ли я задать вам вопрос? –

ответ

0

Как уже упоминалось Алекс, ваш Аякса бывает только один. Таким образом, это лучше использовать DataSource configuration object для загрузки данных:

var dataSource = { 
    load: function() { 
     var items = $.Deferred(); 
     $.ajax({ 
      type: "GET", 
      url: "https://js.devexpress.com/Demos/WidgetsGallery/data/orderItems", 
      success: function(result) { 
       items.resolve(result.items); 
      } 
     }); 

     return items.promise(); 
    } 
}; 

$("#gridContainer").dxDataGrid({ 
    dataSource: dataSource, 
    //... 
}); 

Затем, если вы звоните в refresh() метод dxDataGrid, источник данных будет перезагружен.

Demo

Обратите внимание, метод refresh полезен, если источник данных динамически изменяется.

+0

Этот метод не работает. Работает только ajax. как я буду это делать? –

+0

> Что вы ожидаете от вызова метода обновления? – Sergey

+0

Вкратце объясню. Я удаляю строку с диалоговым окном на экране, когда я нажимаю на строку. Но линия остается там. Но это не сразу падает на экран. Я сделал кнопку обновления для этого. Идите на экран в прессе. (Это не в моем коде) –

Смежные вопросы