Flex 3 DataGridColumn HeaderText Локализация - PullRequest
1 голос
/ 05 февраля 2009

Я работаю в многоязычном приложении, использующем ResourceBundle во Flex 3. Я отображаю данные в DataGrid и определяем DataGridColumn headerText, как это

headerText="{localizedHeaderText('LABEL_USER_NAME')}

эта функция возвращает локализованную метку для имени пользователя, но когда я динамически выбираю другой язык, все обновляется, но метки headerText?

Есть мысли?

Спасибо

1 Ответ

3 голосов
/ 12 февраля 2009

Если вы не сделаете метод localizedHeaderText привязываемым, привязка никогда не будет переоцениваться, поскольку она не знает о событии изменения resourceManager.

Предполагая, что вы находитесь в подклассе UIComponent, вам необходимо сделать следующее:

  1. переопределить resourcesChanged и отправить пользовательское событие
  2. добавить [Bindable (event = "customEvent")] выше метода

Пример кода:

override protected function resourcesChanged():void {
    super.resourcesChanged();
    dispatchEvent(new Event("localeChange"));
}

и

[Bindable(event="localeChange")]
public function localizedHeaderText(key:String):String {
    return resourceManager.getString('resources', key);
}
...