2017-03-09 11 views
1

$ scope.girdOptions.api.setColumnDefsにアクセスして、ag-girdのgirdOptionsのcolumnDefを更新することはできません。私が達成しようとしています何ag-grid - 角度1.xのsetRowDataの未定義

Plunkr code is here

異なる値を持つテーブルでグループです。

のcellRenderer:「グループ」のコードは、彼らがグループ化を処理するために作り付けてきたものですので、この例では、拡張されたときに、行の内側のグリッドをレンダリングが含まれています。

ピボットメニューオプションを使用してグループを動的に実行することは可能ですが、行内にグリッドを描画する必要があります。そのため、応答のJSONはPlunkrのrowDataと似ています。

したがって、動的にグループ化するピボットオプションを使用することはできません。

私はここで解決しようとしています問題は

` masterColumnDefs = [ 
    {headerName: 'Name', field: 'name' 
    }, 
    {headerName: 'Account', field: 'account', 
     // left column is going to act as group column, with the expand/contract controls 
     cellRenderer: 'group', 
     // we don't want the child count - it would be one each time anyway as each parent 
     // not has exactly one child node 
     cellRendererParams: { suppressCount: true }}, 
    {headerName: 'Calls', field: 'totalCalls'}, 
    {headerName: 'Minutes', field: 'totalMinutes', cellFormatter: minuteCellFormatter} 
];` 

それを修正することにより、上記masterColumnDefsを更新し、

$ scope.gridOptions.api.setColumnDefs(masterColumnDefsとgridOptionsを更新することです);

何も助けてくれません。

他の解決方法もありますが、私はそれを得られません。

ポイント注:

  1. 私はJSON内部等plunkr、アレイ内のモックJSONと同様、後で関数によって変更応答を有します。
  2. グループを拡張するときにグリッドをレンダリングする必要があります。
  3. 私は、ピボットエンタープライズファシリティまたはplunkrのようにAPIにアクセスしてcolumnDefsを更新するボタンのいずれかによって別の値でグループ化する必要があります。

いずれのアイデアも大きな助けになります。

答えて

1

これは、角度アプリのためのjavascriptのlibを使用しているときにこれは非常にトリッキーだった。

私は、タイムアウト機能の中でAPIを呼び出すことでそれを達成することができました。あなたは$ scope.gridOptions.api.setColumnDefs(masterColumnDefs)上$ scope.gridOptionsを印刷するかのように

$timeout(function(){ 
    $scope.gridOptions.api.setColumnDefs(masterColumnDefs); 
}, 0); 

タイムアウト機能を持たないオブジェクトには、apiまたはcolumnApiキーがないことに注意してください。

しかし、あなたは

$ scope.gridOptions.apiをラップする場合。setColumnDefs(masterColumnDefs);

コンソールでは、オブジェクトをapiとcolumnApiで見ることができます。これで、gridOptionsが持つ値で更新されます。

これは、私が分析した限り、グリッドウェブサイトのどこにでも説明されていないし、文書化されていない。

希望すると便利です。

+1

ブファネシュ先生、あなたは私の一日を作った。ありがとうございました – surendher