2016-10-07 4 views
0

Во-первых, я хочу упомянуть, что я использую angular2 с jqxgrid.Обновить jqxgrid с angular2

У меня есть jqxgrid, который отображает динамические данные и работает нормально. Но когда я пытаюсь обновить сетку или попытаюсь ее перестроить, сетка отображает данные, загруженные с первого раза, а не обновленные.

Мой код для отображения данных в jqxgrid приводится ниже:

 let url = "http://xxxx" + parameter1 + "xxxx" + parameter2; 

     let sourceGrid = 
     { 
      datatype: "json", 
      datafields: [{ "name": "name", "type": "string" },...], 
      url: url 
     }; 

     let dataAdapter = new $.jqx.dataAdapter(sourceGrid, { 
      downloadComplete: (data, status, xhr) => { }, 
      loadComplete: data => { }, 
      loadError: (xhr, status, error) => { } 
     }); 

     this.settings = { 
      width: 1500, 
      source: dataAdapter, 
      ...., 
      columns:[{ "text": "name", "datafield": "name"},...] 
     } 

     this.myGrid.createWidget(this.settings); 

все отлично работает ДО этого момента. При нажатии кнопки кнопки я получил данные, передавая параметр i.e, новые данные поступают в dataAdapter, но jqxgrid не восстанавливает или не обновляет новые данные. До сих пор я пытался:

 ... 
     dataAdapter.dataBind(); 
     this.myGrid.source = sourceGrid; 
     this.myGrid.updatebounddata(); 
     ... 

я получил новые данные с DataAdapter связывания, но jqxGrid по-прежнему отображать старые данные. Я попробовал refreshData(), refresh(), попробовал с новым адаптером, но сетка освежает. Не уверен в последовательности.

Может ли кто-нибудь помочь мне с быстрым решением?

ответ

1

Я получил решение для обновления сетки с динамическими данными:

this.mygrid.setOptions({source:{}}); or new DataAdapter 

Спасибо jQWidgets команды

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