支持多行同时拖拽,重复数据不重得添加,添加了图表右键菜单。复制代码代码如下:可扩展标记语言版本='1.0 '编码='utf-8 '?MX : APPLication xmlns : MX=' http://www .土坯房。com/2006/mxml ' layout=' absolute '创建完成=' init()' MX :脚本![CDATA[导入MX。控件。警惕;导入MX。控件。数据网格;导入MX。经理们。DragManager导入MX。核心。uicomponent导入MX。收藏品。arraycollection导入MX。事件。DragEvent//DataGrid的数据源[可绑定]私有变量medalsa c : ArrayCollection=new ArrayCollection([{ country : '美国,黄金: 35,白银:39,青铜器: 29 },{ Country: '中国,Gold: 99,Silver:17,青铜器: 14 },{ Country: '日本,黄金: 32,白银:27,青铜器: 38 },{ Country: '韩国,Gold: 27,Silver:27,青铜器: 2 },{ Country: '新加坡,Gold: 55,Silver:27,青铜器: 63 },{ Country: '朝鲜,Gold: 11,Silver:21,青铜器: 16 },{ Country: '马来西亚,黄金: 7,白银:14,青铜器: 77 },{ Country: '澳洲,Gold: 0,Silver:12,青铜器: 11 }]);//柱形图的数据源,默认为空[可绑定]私有var图表数据: ArrayCollection=new ArrayCollection();[可绑定]私有var menu :上下文菜单=新建上下文菜单();//让柱形图监听拖拽事件私有函数init(): void { column。addeventlistener(drageevent .DRAG_ENTER,dragen句柄);列。addeventlistener(Dragevent .DRAG_DROP,DragDropHandle);//初始化右键菜单init Menu();} //初始化图表右键菜单私有函数init menu(): void { var clear : ContextMenuItem=new ContextMenuItem('清空图表');menu.customItems.push(清除);安全了。add event listener(ContextMenuEvent .菜单项选择,清除动作);} //处理鼠标右键事件私有函数clearAction(事件: contextmenuevent): void { this。图表数据。remove all();} //因为只有数据网格推拽,所以直接允许,如果界面上有多个控件监听拖拽事件,需要判断后允许正确的数据进入私有函数dragEnterHandle(e : drageevent): void { drag manager。接受拖放(例如,currenttarget作为ui组件)}//拖拽放开后处理私有函数DragDropHandle(e : DragEvent): void {//往柱状图的数据提供者中添加拖拽数据。 //如果只需要特定的数据进入柱形图,可以先做数据筛选。
var数据:数组=(例如dragInitiator作为数据网格).selecteditemfor(var I : int=0;我。数据长度;i ) { //不包含已经存在的数据再添加if(!图表数据。包含(数据[I]){图表数据。additem(数据[I]);} } }]]/MX :脚本MX :数据网格拖动已启用=' true '数据提供程序=' { medalsAC } ' x=' 192 ' y=' 52 ' allowMultipleSelection=' true ' MX :列MX :数据网格列数据字段=' Country '标题文本='国家/MX : datagridcolumn数据字段=' Gold '标题文本='金牌/MX : datagridcolumn数据字段=' Silver '标题文本='银牌/MX : datagridcolumn数据字段='青铜' headerText='铜牌//MX :列/MX :数据网格!-定义颜色-MX : solidcolor id=' SC1 ' color='黄色alpha='。8 '/MX : solidcolor id=' sc2 ' color='0x cccccc ' alpha='。6 '/MX 3360 solid color id=' sc3 ' color='0x cffcc 66 ' alpha='。6 '/!-定义颜色- mx:Stroke id='s1' color='黄色重量=' 2 '/MX :笔画id=' S2 '颜色='0xccccc '重量=' 2 '/MX :笔画id=' S3 '颜色='0xcffcc66 '重量=' 2 '/!-柱形图设置成能解析国家: '俄罗斯,黄金: 27,白银:27,青铜: 38这样的数据项-MX :柱形图id=' column '上下文菜单=' { menu } '高度=' 202 '宽度=' 402 '左填充=' 5 '右填充=' 5 ' showDataTips=' true '数据提供程序=' { chart data } ' x=' 192 ' y=' 215 '!-设置水平轴-MX :水平轴!-水平轴拖动数据到图表后的文字显示-MX : categoryaxis categoryField=' Country '/MX :横轴!-设置柱子- !填充填充颜色,笔画边框颜色-MX :系列MX :系列xField=' Country ' yField=' Gold '显示名称='金牌fill=' { SC1 } ' stroke=' { S1 } '/MX :列系列xField=' Country ' yField=' Silver '显示名称='银牌fill=' { sc2 } ' stroke=' { S2 } '/MX :列系列xField=' Country ' yField='青铜显示名称='铜牌fill=' { sc3 } ' stroke=' { S3 } '//MX :系列/MX :柱形图/MX :应用程序