2017-09-26 32 views
0

関連:How To translate "No Rows To Show" message in ag-grid?"noRowsToShow"テキストを動的に編集する方法は?

解決策の問題は、1度しか動作しないことです。グリッドが表示された後、 "noRowsToShow"の変更はできません。そして、言語の変更後にグリッド全体を置き換えるソリューションを探す前に、別のものを探しています。

私は現在、すべての言語が変更された後に、古いlocaleTextを新しい翻訳済み言語に置き換えました。これは明らかに機能しませんでした。

this.gridOptions.localeText = { 
    noRowsToShow: this.translate("noRows", "DE"); 
}; 

実際には動作しますが、gridOptionsは新しいものに置き換えられません。

localeTextを新しい翻訳済みのものに置き換える別の方法はありますか?

EDIT:私は同じ質問をするのGithub上の問題が見つかりましたが返事なし:https://github.com/ag-grid/ag-grid/issues/1286

私はあなたが使用している場合、彼は私の質問

答えて

0

のドキュメントを見てみるに応えていただければ幸いですあなたが使用する(単一の)言語を提供しているところのlocaleText。あなたが外部の翻訳者を使用する場合、それはlocaleTextFunc

すなわち

var gridOptions = { 

// standard grid settings, thrown in here to pad out the example 
enableSorting: true, 
enableFilter: true, 
enableColResize: true, 
columnDefs: columnDefs, 

localeTextFunc: function(key, defaultValue) { 

    // to avoid key clash with external keys, we add 'grid' to the start of each key. 
    var gridKey = 'grid.' + key; 

    // look the value up. here we use the AngularJS 1.x $filter service, however you can use whatever 
    // service you want, AngularJS 1.x or otherwise. 
    var value = $filter('translate')(gridKey); 
    return value === gridKey ? defaultValue : value; 
} 

}を使用することを言います。

+0

しかし、もう一度localeTextFuncが最初に1回だけ呼び出されます。私の目標は、すべての言語を変更した後、グリッドを更新することです。noRowsToShow – SovietPanda

+0

言語が変更されたときにいつでもグリッドを再初期化できます。 htmlパイプタイプの構造体を使用しない場合は、言語のためにバックグラウンドコードで変更される値を再初期化するコードを使用する必要があります。私の現在のコンパニオンアプリケーションの1つでは、これは言語の変化に対処する方法です。変更された場合、背景要素を再初期化/表示して一致させます。しかし、それは私たちが扱うものです。 – Matrim

関連する問題