Flex: прокрутка в данных - PullRequest
0 голосов
/ 28 ноября 2009

У меня есть 2 вопроса о гибких данных:

  1. Как можно автоматически прокрутить его до конца, когда к нему поступила новая часть данных (например, я добавил новые элементы)
  2. Странно, но, кажется, он не прокручивается, когда я использую колесо прокрутки, есть ли хитрость в этом (особенно для пользователей Mac)

Заранее спасибо


Некоторые изменения:

public function scroll():void
{   
    trace(chatboard.maxVerticalScrollPosition);
    chatboard.verticalScrollPosition = chatboard.maxVerticalScrollPosition;
}

<mx:TextArea id="chatboard" x="10" y="10" width="310" height="181" text="{chatMessages}" editable="false" verticalScrollPolicy="on" resize="scroll()"/>

Но на самом деле это не помогает. Текстовая область не прокручивается автоматически :(


Похоже, 1) прокрутка не вызывается после добавления новой строки в chatMessages

Ответы [ 2 ]

1 голос
/ 01 декабря 2009

Я обнаружил, что колесо мыши по умолчанию прокручивает текстовую область. Вы ищете другое поведение?

Что касается пропуска до конца:

в вашем проводе TextArea до updateComplete, и кажется, что он работает так, как вы хотели бы:

 <mx:TextArea id="textArea1" liveScrolling="true" updateComplete="textArea1_Changed(event);" />

тогда

  private function textArea1_Changed(event:Event):void {textArea1.verticalScrollPosition = textArea1.maxVerticalScrollPosition;}

наконец, вы можете проверить что-то вроде:

  private function btnClick(e:Event):void{textArea1.text += new Date().getTime().toString() + "\n";}
0 голосов
/ 30 ноября 2009

1) dataGrid.verticalScrollPosition = dataGrid.maxVerticalScrollPosition

...