Как установить ag-grid headerName для перевода - PullRequest
0 голосов
/ 02 июня 2018

Когда я устанавливаю headerName или displayName с помощью "$ filter ('translate') ('HostName')", например:

export default (($filter, modalHelper, $translate) => [{
    displayName:$filter('translate')('HostName'),
    headerCellFilter: 'translate',
    headerFilter:'translate',
    field: 'name',
    width: 130,
    filter: 'text'}]


const en = {
    'HEADLINE': 'This is a test',
    'HostName': 'This is Host Name',
    'IPAddress': 'IP Address'}

export default {
   en
}


const cn = {
    'HEADLINE': '这是一个测试',
    'HostName': '主机名',
    'IPAddress': 'IP 地址'
}

export default {
   cn
}

headerName может отображаться только один раз once невозможно динамическое изменение, когда я запускаюФункция changeLanguage, как показано ниже

function changeLanguage() {
  $translate.use($scope.lang)
  })
}
$scope.langs = ['English', '中文(简体)'];
$scope.lang = '中文(简体)';

$translateProvider.translations('English', translateEN.en)
  .translations('中文(简体)', translateCN.cn)
  .preferredLanguage('中文(简体)') // 默认 EN

Есть ли какое-нибудь решение, чтобы это исправить?Спасибо.

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Похоже , что это можно сделать с помощью headerValueGetter

. Используйте headerValueGetter вместо colDef.headerName, чтобы разрешить динамические имена заголовков.

внутри headerValueGetter функция, которую вы можете обрабатывать переводы

0 голосов
/ 04 июня 2018

Возможно, вам придется изменить headerName вручную.

Есть функция с именем refreshHeader(), , вот пример из документов .

Или выможно перезагрузить все определения столбцов с помощью setColumnDefs(), если это проще.

...