最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to refresh AG grid with new data from external API? - Stack Overflow

programmeradmin0浏览0评论

For some reason, my ag grid is displaying another grid after the initial one instead of refreshing the grid. The data is coming from an external API. The following is the code;

// Querying the data using fetch and promises
  fetch('http://localhost:3000/viewcontract/'+Entity+'/'+SubEntity+'/'+Account+'')
    // Deserializing the data we received
    .then(response => response.json())
    // We have our data now, we initialize our table
    .then(data => {
      console.log ('display data')
      console.log (data)
    if (data == null) alert ("be bad")
    //setup grid option 
      const gridOption = {
        components: {
          'genderCellRenderer': GenderCellRenderer
        },
        defaultColDef: {
          editable: true,
          resizable: true},
          enableSorting: false,
          rowSelection: 'multiple',
          rowHeight: 40,
          rowData: data,
           onGridReady: function (params) {
        params.api.sizeColumnsToFit();
        var clean = {force: true,};
        params.api.refreshCells(clean); 
        RefreshCellsParams;
        },
      //column definitions 
        columnDefs: [
          {
            headerName: 'Del',
            width: 80,
            editable: true,
            cellRenderer: params => {
              return `<input type='checkbox' ${params.value ? 'checked' : ''} />`;
            },
            field: 'delete-indicator'
          },
        {headerName: "Billing Items", field: "contract_billing_item",
           width: 200, 
           editable: true},
        {headerName: "Range Type", field: "contract_range_type", 
           width:150,
           cellRenderer: 'genderCellRenderer',
           cellEditor: 'agRichSelectCellEditor',
           singleClickEdit : true,
           cellEditorParams: {
               values: ['item cnt', 'acct value']}},
        {headerName: "Range", field: "contract_to_range",
           editable: true, 
           width:150, 
           cellClass: 'ag-right-aligned-cell', 
           valueFormatter: params => {return params.value.toLocaleString();}},
        {headerName: "Rate Type", field: "contract_rate_type",
          width:150,
          cellRenderer: 'genderCellRenderer',
          cellEditor: 'agRichSelectCellEditor',
          singleClickEdit : true,
          cellEditorParams: {
              values: ['flat', 'bps', 'pct']} },
        {headerName: "Rate", field: "contract_rate_amount", 
          width: 100, 
          editable: true, 
          cellClass: 'ag-right-aligned-cell',},
        {headerName: "(+/-)", field: "contract_billing_operator", 
          width:80,
          cellRenderer: 'genderCellRenderer',
          cellEditor: 'agRichSelectCellEditor',
          singleClickEdit : true,
          cellEditorParams: {
              values: ['+', '-']}},
        {headerName: "Add On Type", field: "contract_addon_type", 
          width: 150,
          cellRenderer: 'genderCellRenderer',
          cellEditor: 'agRichSelectCellEditor',
          singleClickEdit : true,
          cellEditorParams: {
              values: ['flat', 'bps', 'pct']}},     
        {headerName: "Add-On Rate", field: "contract_addon_rate_amount", 
          width: 150, 
          editable: true, 
          cellClass: 'ag-right-aligned-cell'},
        {headerName: "Min", field: "contract_minimum_fee", 
          width: 100, 
          editable: true, 
          cellClass: 'ag-right-aligned-cell',
          valueFormatter: params => {return params.value.toLocaleString();}},
        {headerName: "Max", field: "contract_maximum_fee", 
          width:100, 
          editable: true, 
          cellClass: 'ag-right-aligned-cell', 
          valueFormatter: params => {return params.value.toLocaleString();}},
        {headerName: "Specials", field: "specials", 
          width:200,
          cellRenderer: 'genderCellRenderer',
          cellEditor: 'agRichSelectCellEditor',
          singleClickEdit : true,
          cellEditorParams: {
              values: ['exception', 'exemption', 'specials', 'n/a']}}
        ],} 

              
      //call AG Grid  
        const gridDiv = document.querySelector('#selectionGrid');
        new agGrid.Grid(gridDiv, gridOption);
        })
}

}

I tried to use params.api.refreshCells but it didn't work. I was expecting the grid to be refresh and load with the new data.

发布评论

评论列表(0)

  1. 暂无评论