用户需要能够在我的Flex应用程序中将Excel电子表格的内容粘贴到网格中。
我使用TextArea
和change
事件处理程序实现了这一点,该处理程序解析用户粘贴的文本 - 通过换行符和标签将其拆分 - 并将其添加到ArrayCollection
这是绑定到网格。
但是,用户无法在TextArea
中手动输入文本。我该如何阻止他们这样做?
或者:创建我自己的实现IFocusManagerComponent
的组件会更有意义吗?
答案 0 :(得分:0)
[更新] 有点乱,请在使用前清理代码:
<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"/>