在Excel与Flex之间粘贴数据
2种方法,
一,利用js读取黏贴版:
var content = clipboardData.getData("Text");
document.getElementById("${application}").getClipboardData(content);
二,直接复制到datagrid
在DataGrid中,当按下Ctrl键时,我们创建一个隐藏的文本(TextField)组件,并将焦点定位给它,这样,我们就可以接受任何通过Ctrl+V粘贴过来的数据。相应的我们也将DataGrid选择行数据以TSV格式拷贝到TextField组件中,并且将所有的文本选择,这样我们使用Ctrl+C操作就可以复制当前行所有数据了。
监听隐藏文件组件的textInput事件。如果有任何数据被粘贴的话,那么在这里数据将被解析,并插入到DataGrid中。
当Ctrl键释放后,移除隐藏的文本组件
看例子代码:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<!--[CDATA[
import flash.events.KeyboardEvent;
private function dataGridKeyDownHandler(event:KeyboardEvent):void
{
if (event.ctrlKey && !dataGrid.getChildByName("clipboardProxy"))
{
// Add an invisible TextField object to the DataGrid
var textField:TextField = new TextField();
textField.name = "clipboardProxy";
dataGrid.addChild(textField);
textField.visible = false;
textField.type = TextFieldType.INPUT;
textField.multiline = true;
// Populate the TextField with selected data in TSV format
textField.text = getTextfromItems(dataGrid.selectedItems);
textField.setSelection(0, textField.text.length - 1);
// Listen for textInput event
textField.addEventListener(TextEvent.TEXT_INPUT,
clipboardProxyPasteHandler);
// Set player-level focus to the TextField
systemManager.stage.focus = textField;
}
}
private function dataGridKeyUpHandler(event:KeyboardEvent):void
{
if (!event.ctrlKey)
{
var textField:TextField = TextField(dataGrid
.getChildByName("clipboardProxy"));
if (textField)
dataGrid.r
相关文档:
flex 装载多个module出现: 强制转换类型失败,出现某些类不能转换
例如:
无法将 mx.managers::PopUpManagerImpl@7155ac1 转换为 mx.managers.IPopUpManager。
解决方法是在Application加入引用
1.
import
mx.managers.DragManager;
private
var dragManager : DragManager;
2. ......
前几天一直被为什么我的pdf文件无法在air程序中显示出来烦着.
在几个不同的论坛发了帖子,可是回答的人寥寥无几, 我都怀疑是不是我的问题太简单了,大家都没有去回答的欲望, 毕竟我才接触flex.
今天早上终于想出了答案:
原来必须在正确安装了air程序之后才能加载pdf文件.
我的程序没有错,错在我是在Flex builder下运行的 ......
XML 作为数据源的实例(TESTED)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="preInit()" fontSize="12" height="500">
<mx:Script>
  ......
首先在fademo.mxml中声明一个button,并添加一个btnClick方法:
view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
......
flex弹出对话框示例程序分为两部分:Main.mxml和SimpleTitleWindowExample.mxml,其中Mail.mxml为主程序文件,SimpleTitleWindowExample.mxml为对话框文件,可以通过修改SimpleTitleWindowExample.mxml文件来修改对话框上的组件。
Main.mxml
<?xml version="1.0" encoding="ut ......