`

Flex AdvancedDataGridColumn 运用

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<!--添加会商纪录-->
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:an="com.cist.utils.page.action.*"
xmlns:com="com.cist.components.company.*"
xmlns:cdf="com.cist.utils.date.*"
                creationComplete="init()"
width="840"
height="397"
title="应急能力评估--{titleStr}"
layout="absolute"
showCloseButton="true"
close="closewindow()">
 

<mx:Script>
<![CDATA[
import mx.controls.List;
import com.cist.utils.ImageHelper;
import com.cist.BaseWidget;
import com.cist.widgets.UrgencyAssess.CapacityAssessmentWidget;
import com.cist.utils.OpenManager;
import mx.collections.*;
import mx.controls.Alert;
import com.cist.utils.RemoteConnection;
import mx.rpc.events.ResultEvent;
import mx.rpc.remoting.RemoteObject;
import com.cist.utils.page.action.PageUtil;
import com.cist.utils.init.Store;
import mx.controls.DateField;
import mx.printing.*;
            import mx.printing.PrintAdvancedDataGrid;

[Bindable]
private var titleStr:String; //窗口标题

[Bindable]
private var isShow:Boolean = false; //是否显示
[Bindable]
private var isShow2:Boolean = false;
[Bindable]
private var update:Object = {};//修改查看基础信息对象


private var selCondition:Object = {};

private var bw:BaseWidget;
private var rc:RemoteObject;
private var obj:Object;
private var condition:Object = {};
private var oldState:String;
private var list:ArrayCollection= new ArrayCollection();
[Bindable]
private var assess:Object = {};
[Bindable]
private var as1:Object = {};
[Bindable]
private var as2:Object = {};
private var byteArray:ByteArray;
private var fileReference:FileReference = new FileReference();
private function init():void{
//upload
fileReference.addEventListener(Event.SELECT,file_selected);
fileReference.addEventListener(ProgressEvent.PROGRESS,progress);
fileReference.addEventListener(Event.COMPLETE,complete);
                
}
private var fileName:String = "";
private var size:uint = 0;
private function complete(event:Event):void{
size = fileReference.size;
fileName = fileReference.name;
byteArray = fileReference.data;
}

private function progress(event:ProgressEvent):void{

}
private function file_selected(event:Event):void{
try {
fileReference.load();
                } catch (err:Error) {
                   // message.text = "ERROR: zero-byte file";
                }

 
    //下载导出文档
private function exportdownload():void{
var headname:String = update.name+update.id+".doc";

if(headname!=null&&headname!=""){
var url:String = Store.geturl();
url = url.replace("index.swf","downfile/"+headname);
var urlR:URLRequest = new URLRequest(encodeURI(url));
try{
fileReference.download(urlR,headname);
this.closewindow();
}catch(err:Error){
Alert.show("下载失败");
}
       
    }
}
//删除导出文档
private function exportdelete():void{
var headname:String = update.name+update.id+".doc";
RemoteConnection.getRemote("assessmentService").exportDelete(headname);
this.closewindow();
}
//关闭窗口
private function closewindow():void{
OpenManager.closeTitleWindow(this,true);
}

//窗口标题、MeetingRecord、是否显示、是否可编辑
public function setparamValue(title:String,bw:BaseWidget,isShow:Boolean=false,isShow2:Boolean=false):void{
this.isShow = isShow;
this.bw = bw;
this.titleStr = title;
    this.isShow2 = isShow2;
}

public function set up(o:Object):void{

     this.update = o;
     dpHierarchy = new ArrayCollection([
              {Region:update.name, children: [
                 {Region:"Arizona", children: [
                   
                       ]},                 
                    ]}
                 ]);
          showAS();    
     }
    
public function set select(s:String):void{
  this.titleStr = s;
}

[Bindable]
              private var dpHierarchy:ArrayCollection ;
              [Bindable]
              private var acc:ArrayCollection ;
                
                public function showAS():void{
var condition :Object= {
name:update.name,
createtime:update.createTime}
RemoteConnection.getRemote("assessmentService",resultHandle).getAssess(condition);
}
public function resultHandle(event:ResultEvent):void{
     list = event.result as ArrayCollection;
     var aa:ArrayCollection = new ArrayCollection();
     var ab:ArrayCollection = new ArrayCollection();
   
     var cc:ArrayCollection = new ArrayCollection();
        for(var i:int=0;i<list.length;i++){
        var ob:Object = list[i];
    if(ob.rank == "1"){
     as1 = {v3id:ob.v3id,v4id:ob.v4id, Actual:ob.grade, Estimate:ob.name,con:ob.organization,expert:ob.expert,personal:ob.personnel};
     aa.addItem(as1);      
     }     
        }
        var oo:Object = dpHierarchy.getItemAt(0);
            oo.children = aa;
        for(var a:int=0;a<aa.length;a++){   
        for(var j:int=0;j<list.length;j++){
    var ob:Object = list[j];
     if(ob.rank == "2"){
     as2 = {v4id:ob.v4id, Actual:ob.grade, Estimate:ob.name,con:ob.organization,expert:ob.expert,personal:ob.personnel};
     ab.addItem(as2);
    }
          }
        var ob:Object = aa.getItemAt(a);
                 ob.children = ab;
        }
        for(var b:int=0;b<ab.length;b++){
        var bb:ArrayCollection = new ArrayCollection();   
  for(var j:int=0;j<list.length;j++){
    var ob:Object = list[j]; 
    if(ab[b].v4id == ob.v4id&&ob.rank == "3"){
     assess = {v4id:ob.v4id,Actual:ob.grade, Estimate:ob.name,con:ob.organization,expert:ob.expert,personal:ob.personnel};
     bb.addItem(assess);
    }
         }
         var oa:Object = ab.getItemAt(b);
                 oa.children = bb;
              
       }                         
     
       this.acc = aa;
       export();
}

//生成word
private function export():void{    
var headname:String = update.name + ""+update.id;
var time:String = DateField.dateToString(update.createTime,"YYYY-MM-DD");
var aa:ArrayCollection = new ArrayCollection();
   
var condition :Object= {headname:headname,time:time,list:this.acc}
rc=RemoteConnection.getRemote("assessmentService");
rc.exportWord(condition);
}
  private function doPrint():void {

                var printJob:FlexPrintJob = new FlexPrintJob();

                var printADG:PrintAdvancedDataGrid =
                    new PrintAdvancedDataGrid();

                printADG.includeInLayout = false;
                printADG.source = adg;             
                addChild(printADG);
                if (printJob.start() == false) {                              
                    removeChild(printADG);
                    return;
                }

                printJob.addObject(printADG, FlexPrintJobScaleType.NONE);
                printJob.send();
       
                removeChild(printADG);
            }
            public function myColStyleFunc(data:Object,col:AdvancedDataGridColumn):Object {
            var  str:String = data["Actual"];
            if(str!=null&&str!=""){
            var  num:Number =Number(str.charAt(0));
if((1.5<num) && (num<=2.5)){
  return {color:0xEEEE55};
}
if((2.5<num) && (num<=3.5)){
  return {color:0x00FF00};
}
if((3.5<num) && (num<=4)){
  return {color:0x0000FF};
}
if((1.0<num) && (num<=1.5)){
  return {color:0xFF0000};

  return null;
     }
     return null;
            }
            
         
]]>
</mx:Script>
       
<mx:Form width="100%" height="100%">
<mx:AdvancedDataGrid id="adg"
            width="100%" height="100%">
            <mx:dataProvider>
                <mx:HierarchicalData source="{dpHierarchy}"/>
            </mx:dataProvider>
            <mx:columns>
                <mx:AdvancedDataGridColumn dataField="Region" headerText="事件名称"/>
                <mx:AdvancedDataGridColumn dataField="v3id" headerText="大类"/>
                <mx:AdvancedDataGridColumn dataField="v4id" headerText="属性"/>
                <mx:AdvancedDataGridColumn dataField="Estimate" headerText="评分对象"/>
                <mx:AdvancedDataGridColumn dataField="Actual" headerText="评分结果" styleFunction="myColStyleFunc"/>
                         
                <mx:AdvancedDataGridColumn dataField="con" headerText="所属地区"/>
                 <mx:AdvancedDataGridColumn dataField="expert" headerText="评估专家"/>
                  <mx:AdvancedDataGridColumn dataField="personal" headerText="评估人员"/>
            </mx:columns>
        </mx:AdvancedDataGrid>   
       
<mx:HBox horizontalAlign="right" width="100%">
<mx:Button id="myButton"  label="打印文档"  click="doPrint()" visible="{isShow2}"/>
<mx:Button id="mybt"  label="返回目录"  click="exportdelete()" visible="{isShow2}"/>
<mx:Button label="导出文档" click="exportdownload()" visible="{isShow}"/>
<mx:Button label="关闭返回" click="exportdelete()" visible="{isShow}"/>
</mx:HBox>
</mx:Form>

</mx:TitleWindow>
1
4
分享到:
评论

相关推荐

    Footerdatagrid整合版

    本人整合的Flex完成datagrid合计平均值等 Footerdatagrid控件,可以锁列(网上流传的大部分版本lockedColumnCount属性无效,不过要注意不要把要合计的列锁住)、动态隐藏列(网上的所有版本在visible等于动态参数的...

    2023年美赛特等奖论文-F-2305794-解密.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,2023年美赛特等奖O奖论文

    亚太经社会:2024年亚太贸易便利化报告.pdf

    亚太经社会:2024年亚太贸易便利化报告.pdf

    消费者价格指数下的年通货膨胀率(1960-2021年).xls

    消费者价格指数(CPI):按消费者价格指数衡量的通货膨胀反映出普通消费者在指定时间间隔(如年度)内购买固定或变动的一篮子货物和服务的成本的年百分比变化。通常采用拉斯佩尔公式进行计算。

    node-v8.10.0-linux-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    网页制作基础学习--HTML+CSS常用代码.txt

    网页制作基础学习--HTML+CSS常用代码

    IEC TS 60364-8-3-2020 低压电气装置.第8-3部分:功能方面.生产用户电气装置的操作.pdf

    IEC TS 60364-8-3-2020 低压电气装置.第8-3部分:功能方面.生产用户电气装置的操作.pdf

    智能制造数字化供应链全栈解决方案.pptx

    智能制造数字化供应链全栈解决方案.pptx

    yolov5训练自己的数据集.docx

    yolov5训练自己的数据集

    Windows 10系统上安装和配置Tomcat的步骤

    附件是Windows 10系统上安装和配置Tomcat的步骤,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

    2018美赛O奖论文C题合集.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文

    超级实用简洁的反色软件,支持部分区域反色!!

    超级实用简洁的反色软件,支持部分区域反色!! 界面简洁,易于使用! 源码可以联系

    2024年中国NAD+抗衰补剂行业研究报告.docx

    2024年中国NAD+抗衰补剂行业研究报告

    高德地图API+Python解决租房问题内含源码和设计文档.md

    高德地图API+Python解决租房问题内含源码和设计文档.md

    QYResearch:2023年前10大壁纸刀企业占据全球39%的市场份额.docx

    QYResearch:2023年前10大壁纸刀企业占据全球39%的市场份额.docx

    广东工业大学-数据库简答题考试试题回忆版以及答案解析.doc

    此试题是考试后回忆版本,你会发现是惊喜。恭喜你考个好成绩。

    node-v9.11.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    MVIMG_20240506_214323.jpg

    MVIMG_20240506_214323.jpg

    2023年美赛特等奖论文-B-2318300-解密.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,2023年美赛特等奖O奖论文

    数据库课程设计的概要介绍与分析

    数据库是计算机科学中的一个核心领域,它用于存储、管理和检索数据。随着信息技术的发展,数据库技术已经渗透到我们日常生活的方方面面,从简单的网站用户信息管理到复杂的企业级数据仓库系统,无一不彰显其重要性。以下是一个关于数据库的综合资源描述,旨在为初学者和专业人士提供一个全面的视角。 ### 1. 数据库基础 数据库的基础知识包括了解数据模型、数据库管理系统(DBMS)以及SQL语言等。数据模型主要有关系型模型(如MySQL、Oracle)、非关系型模型(NoSQL,如MongoDB、Cassandra)等。关系型数据库遵循ACID特性(原子性、一致性、隔离性、持久性),适用于需要高度一致性的场景;而非关系型数据库则以灵活的schema设计和高可扩展性见长,适用于大数据处理和实时Web应用。 ### 2. 学习资源 - **在线课程**:Coursera、edX、Udacity等平台提供了多门数据库相关的课程,涵盖从入门到高级的各种主题,比如Stanford大学的《数据库系统概念》课程。 - **书籍**:《数据库系统概论》(Silberschatz, Korth, Sudarsha

Global site tag (gtag.js) - Google Analytics