如何使用View Refresh实现动态单元更新,而不是在Ag-grid中实现动态单元渲染?

时间:2019-04-22 10:15:49

标签: angular ag-grid ag-grid-angular

希望大家过得愉快。
我想使用“查看刷新”基于从下拉菜单中选择的元素来更新单元格值:
ag-grid View Refresh Documentation

上下文:
这是app.component.ts中的列定义:

{
  headerName: 'Sites sur lesquelles les activités sont déployées ',
  field: 'descriptionAct',
  headerTooltip:
    'Cochez les sites ou est réalisée l\'activité en question. La liste des sites dépend de ce qui a été renseigné à la question I)a. (en haut)',
  editable: true,
  width: 300,
  // checkboxSelection:true
  cellRenderer: params => {
    return (
      `
    <input type='checkbox'/>` +
      this.siteName1 +
      `</input>
      <input type='checkbox'/>` +
      this.siteName1 +
      `</input>
    `
    );
  }
},  

这是app.component.html中的下拉菜单定义:

 <select class="form-control" id="CityFormControlOne"  (change)="UpdateSites($event.target.value);
RefreshSitesColumn();">

    <option>France - Paris (Majunga)</option>
    <option>France - Paris (Opus)</option>


这些是我与onChange侦听器一起使用的方法定义:

 public UpdateSites(siteName) {
    console.log('SITE NAME IS SHADY' + siteName);
    this.siteName1 = siteName;
  }
  public RefreshSitesColumn() {
  let params = { force: true };
  this.gridApi.refreshCells(params);
  //setTimeout(
  //this.gridApi.refreshCells({ columns: ['Sites sur lesquelles les activités sont déployées'] }), 2000);
  }

这是下拉菜单:

enter image description here

这是用户在下拉菜单中选择城市后要更新的列(在app.component.ts中定义):
enter image description here
因此,实际的城市名称将显示在用户选择城市名称之后,而不是未定义的复选框。很简单,对吧?

所以我的问题是:
1 /为什么单元格不刷新?
2 /是否可以仅使用refresh方法而不使用自定义单元格渲染器来进行这项工作?
3 /如果是,怎么办?
4 /我应该使用自定义单元格渲染器而不是简单的刷新方法吗?
5 /如果我编写的代码不好/不遵循最佳实践,那么请指出:)

谢谢大家!

0 个答案:

没有答案