Не редактируемая цель вставки текста - PullRequest
0 голосов
/ 22 сентября 2011

Пользователи должны иметь возможность вставлять содержимое электронной таблицы Excel в сетку в моем приложении Flex.

Я реализовал это, используя TextArea с обработчиком событий change, который анализирует текст, который вставляет пользователь, - разбивая его на новые строки и вкладки - и добавляя его к ArrayCollection, привязанному к сетке .

Однако пользователям нет смысла вручную вводить текст в TextArea. Как я могу помешать им сделать это?

Или: имеет ли смысл создавать мой собственный компонент, реализующий IFocusManagerComponent?

1 Ответ

0 голосов
/ 22 сентября 2011

[Обновлено] Немного грязно, пожалуйста, очистите код перед использованием:

<fx:Script>
    <![CDATA[

        protected function keyDownEvent(e:KeyboardEvent):void
        {
            e.preventDefault();
            switch(e.keyCode)
            {
                case Keyboard.V: 
                    if (e.ctrlKey)
                    {
                        ta.text += "Some dummy " + "\n" +
                            "text pasted in this text area";
                        ta.text += "\n[Keyboard Used to paste]";
                    }
                    break;
                default:
                    e.preventDefault();
            }
        }

        protected function onCreationComplete(event:Event):void
        {
            ta.addEventListener(KeyboardEvent.KEY_DOWN, keyDownEvent);
        }

    ]]>
</fx:Script>

<s:Label text="Press CTRL[V] to see the action"/>
<s:TextArea id="ta"/>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...