当前位置:首页 > 开发 > Web前端 > 前端 > 正文

Flex将dataGrid数据复制到系统剪贴板

发表于: 2014-04-01   作者:ckf53390   来源:转载   浏览:
摘要: package Base{ import mx.controls.DataGrid; import flash.system.System; public class Common {  public function Common()  {  }  //将DataGrid数据复

package Base
{
 import mx.controls.DataGrid;
 import flash.system.System;
 public class Common
 {
  public function Common()
  {
  }
  //将DataGrid数据复制到剪贴板
        public static function CopyGridData(grid:DataGrid):String{
         var str:String='';
         //循环DataGrid行以制表符
         for(var i:int=0;i<grid.columns.length;i++){
          str+=grid.columns[i].headerText+"\t";
         }
         str+="\n";
         for(var j:int=0;j<grid.dataProvider.length;j++){
          for(var k:int=0;k<grid.columns.length;k++){
           if(k==grid.columns.length-1){
            str+=grid.dataProvider.getItemAt(j)[grid.columns[k].dataField]+"\t\n";
           }else{
            str+=grid.dataProvider.getItemAt(j)[grid.columns[k].dataField]+"\t";
           }
          }
         }
         System.setClipboard(str);
         return str;
        }
 }
}

 

 

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal">
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import Base.Common;
   import mx.collections.ArrayCollection; 
   [Bindable] private var arrcol:ArrayCollection
         =new ArrayCollection([{id:"1",cname:"wp",ename:"wp"},{id:"2",cname:"wang",ename:"wang"}]);
   private function copyData():void{
    var str:String=Common.CopyGridData(grid);
    if(str!=null&&str.length>1){
     Alert.show('数据已复制打破系统剪贴板');
    }else{
     Alert.show('数据未复制');    
    }
   }
  ]]>
 </mx:Script>
 <mx:VBox>
  <mx:DataGrid id="grid" dataProvider="{arrcol}">
     <mx:columns>
    <mx:DataGridColumn headerText="id" dataField="id"/>
    <mx:DataGridColumn id="dc2" headerText="cname" dataField="cname"/>
    <mx:DataGridColumn id="dc4" headerText="ename" dataField="ename"/>
     </mx:columns>
     </mx:DataGrid>
     <mx:Button click="copyData()" label="复制数据"/>
 </mx:VBox>
</mx:Application>

Flex将dataGrid数据复制到系统剪贴板

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号