`

使用Flex的<s:DataGrid/>组件调用Java List

    博客分类:
  • Flex
 
阅读更多

package com.demo.hibernate.service;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.hibernate.Session;

import com.demo.hibernate.service.model.RankingModel;
import com.demo.hibernate.utils.HibernateSessionFactory;

public class RankingService {

	public List getTop10(String beginTime, String endTime) {

		List<RankingModel> resultList = new ArrayList<RankingModel>();

		Session session = HibernateSessionFactory.getSession();
		List list = session.createSQLQuery(
				"SELECT T_CARD.CARD_NUM,SUM(T_CARD_EXPENSE.MONEY) "
						+ "FROM T_CARD_EXPENSE,T_CARD "
						+ "WHERE T_CARD_EXPENSE.CARD_ID=T_CARD.ID "
						+ "AND TO_CHAR(T_CARD_EXPENSE.CREATE_DT, 'yymmdd') "
						+ "BETWEEN '" + beginTime + "' AND '" + endTime + "' "
						+ "GROUP BY T_CARD.CARD_NUM "
						+ "ORDER BY SUM(T_CARD_EXPENSE.MONEY) DESC")
				.setMaxResults(10).list();
		session.close();

		for (Iterator iter = list.iterator(); iter.hasNext();) {

			Object[] obj = (Object[]) iter.next();
			RankingModel m = new RankingModel(obj[0].toString(), obj[1]
					.toString());
			resultList.add(m);
		}

		return resultList;
	}
}

package com.demo.hibernate.service.model;

public class RankingModel {

	private String card_num;
	private String sumMoney;
	
	public RankingModel(String card_num,String sumMoney){
		this.card_num=card_num;
		this.sumMoney=sumMoney;
	}
	
	public String getCard_num() {
		return card_num;
	}
	public void setCard_num(String cardNum) {
		card_num = cardNum;
	}
	public String getSumMoney() {
		return sumMoney;
	}
	public void setSumMoney(String sumMoney) {
		this.sumMoney = sumMoney;
	}
}

<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service" class="flex.messaging.services.RemotingService">

	<destination id="RankingService">
		<properties>
			<source>com.demo.hibernate.service.RankingService</source>
		</properties>
	</destination>


	<adapters>
		<adapter-definition id="java-object"
			class="flex.messaging.services.remoting.adapters.JavaAdapter"
			default="true" />
	</adapters>

	<default-channels>
		<channel ref="my-amf" />
	</default-channels>

</service>

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" 
			   creationComplete="init()">
	<fx:Script>
		<![CDATA[
			import mx.collections.IList; 
			import mx.rpc.events.ResultEvent; 

			public function init():void{ 
				             
				RankingService.getTop10("120701", "120707");    
			} 

			protected function RankingService_resultHandler(event:ResultEvent):void {
				grid1.dataProvider = event.result as IList; 
			}
		]]>
	</fx:Script>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<mx:RemoteObject destination="RankingService" id="RankingService" 
						 result="RankingService_resultHandler(event)" 
						 endpoint="/RankingSystem/messagebroker/amf"/>
		
	</fx:Declarations>
	<s:DataGrid id="grid1" x="149" y="122" width="234" requestedRowCount="10">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn dataField="card_num" headerText="卡号"></s:GridColumn>
				<s:GridColumn dataField="sumMoney" headerText="金额"></s:GridColumn>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
</s:Application>

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
			   minWidth="955" minHeight="600" creationComplete="init()">
	<fx:Script>
		<![CDATA[
			import mx.collections.IList;   
			import mx.rpc.events.ResultEvent;   

			[Bindable] private var rankingList:IList; 
			public function init():void{
				RankingService.getRTRankingList();
			}
			protected function RankingService_resultHandler(event:ResultEvent):void {
				rankingList = event.result as IList;  
			}
		]]>
	</fx:Script>
	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<mx:RemoteObject id="RankingService" destination="rankingService"
						 endpoint="/XMercury/spring/messagebroker/amf"
						 result="RankingService_resultHandler(event)"/>
	</fx:Declarations>
	<s:DataGrid id="rankingTable" x="165" y="141" width="200" requestedRowCount="10" dataProvider="{rankingList}">
		<s:columns>
			<s:ArrayList>
				<s:GridColumn dataField="cardNum" headerText="卡号"></s:GridColumn>
				<s:GridColumn dataField="name" headerText="姓名"></s:GridColumn>
				<s:GridColumn dataField="sumMoney" headerText="金额"></s:GridColumn>
			</s:ArrayList>
		</s:columns>
	</s:DataGrid>
</s:Application>
分享到:
评论

相关推荐

    FLex连接数据

    - 获取的数据通过`&lt;s:AsyncListView list="{getEmployeesResult.lastResult}"/&gt;`绑定到了`DataGrid`上。 #### 四、总结 本文详细介绍了如何在Flex应用程序中通过数据服务与数据库进行交互的过程。通过使用Flash ...

    Flex DataGrid从XML文件中加载数据

    在Flex编程中,`Flex DataGrid` 是一个用于展示数据集的组件,它允许用户以表格形式查看和操作数据。本示例展示了如何从XML文件加载数据并将其显示在Flex DataGrid中。以下是对该话题的详细解释: 1. **XML数据源**...

    flex与myeclipse连接

    - 示例代码中,包名为 `pg` 的Java类可能包含了处理前端请求的方法,如 `List&lt;Map&lt;String, Object&gt;&gt;` 类型的数据结构,通常用于构建返回给Flex的数据。 3. 前后端交互: - 数据传输:Flex应用通过HTTP或HTTPS与...

    Flex 3 控件实例全部

    Flex 3 提供了大量其他类型的控件,如按钮(`Button`)、文本输入(`TextInput`)、列表(`List`)、数据网格(`DataGrid`)等,它们都具有丰富的定制选项和事件处理机制,使得创建功能强大的RIA变得简单。...

    Flex+BlazeDB+mysql实现数据交互

    在Flex应用中,数据交互主要通过RemoteObject组件来实现,它可以调用后台Java或.NET服务,从而进行CRUD(创建、读取、更新和删除)操作。 **BlazeDS**: BlazeDS是Adobe提供的一款开源服务器端技术,它允许Flex...

    flex中的datagrid的分页定位以及高亮显示

    在Flex开发中,`Datagrid`组件是一种常用的展示数据列表的控件,而分页和数据高亮显示是提升用户体验的重要功能。本篇主要探讨如何在Flex的`Datagrid`中实现分页定位和高亮显示。 首先,分页定位涉及的主要任务是...

    flex实现边框

    总之,使用Flex实现边框和标题主要涉及设置组件属性、使用CSS、自定义AS类以及应用皮肤。通过灵活组合这些方法,你可以创建出满足各种需求的富界面组件。在实际项目中,理解并熟练运用这些技术将极大地提升你的Flex...

    利用java 后台导出Flex DataGrid为Excel

    - 数据转换:Java需要将接收到的Flex DataGrid的数据结构(可能是JSON或XML)解析成Java对象,例如List&lt;Map&lt;String, Object&gt;&gt;。 - Excel生成:使用Apache POI库,这是一个强大的API,允许我们在Java中创建、修改和...

    flex题目大全

    - **答案**:使用Flex布局管理器,如`&lt;s:HBox&gt;`或`&lt;s:VBox&gt;`,并设置适当的样式属性使其居中。 #### 29. 如何把MouseEvent的localX和localY属性转化成全局坐标? - **答案**:使用`globalToLocal()`方法将局部坐标...

    flex4.5学习笔记

    - **CSS调用**: 使用`&lt;s:Style&gt;`标签或外部样式表来定义样式规则,并通过`themeClass`属性引用主题类。 - **主题更换**: 通过更改应用的`themeClass`属性来快速更换整体样式主题。 **知识点3:皮肤生成及调用** - *...

    Flex4 DataGrid控件行编辑项目

    在Flex4.6开发环境中,DataGrid控件是用于展示数据集合的重要组件,它提供了丰富的功能,如排序、分页和自定义列显示。在这个项目中,我们关注的是如何实现DataGrid的行编辑功能,特别是在行中嵌套ComboBox控件以...

    Flex中如何动态生成DataGrid以及动态生成表头

    `&lt;mx:DataGrid&gt;` 是用来展示表格数据的组件,而`&lt;mx:DataGridColumn&gt;` 用于定义表头的列。 在给出的代码示例中,首先定义了一个名为`grid`的数组,它包含了多个对象,每个对象代表一行数据。这些对象的属性(如`age...

    DataGrid和AdvancedDataGrid CheckBox全选功能1.1

    在本文中,我们将深入探讨如何在Flex中实现DataGrid和AdvancedDataGrid组件的CheckBox全选功能。这个功能在数据展示和交互式操作中非常常见,它允许用户通过一个主CheckBox来选择或取消选择所有行数据。 首先,我们...

    Flex面试试题(By稻田).doc

    可以使用`XMLList`和`DataGrid`的`dataProvider`属性来实现: ```actionscript var xml:XML = new XML(test.xml); var userList:XMLList = xml.user; var dataGriddataProvider:ArrayList = new ArrayList(); for ...

    Flex调用webService

    如果WebService返回的是DataTable类型,我们可以将其转换为Flex的`DataGrid`或`List`等组件的数据源。例如,一个返回DataTable的`getDataTable()`方法可以这样处理: ```actionscript service.getDataTable_...

    AS3的音乐客户端

    Array或ArrayCollection是常见的选择,它们可以方便地绑定到UI组件如DataGrid或List,展示音乐文件的元数据,如标题、艺术家和专辑。此外,我们可以利用XML或JSON格式来序列化和反序列化音乐数据,以便于与服务器...

    Flex +BlazeDS+java后台分页的实现

    在Flex中,我们可以使用DataGrid、List或其他UI组件来展示分页数据。 BlazeDS是Adobe官方提供的一个开源项目,它为Flex应用程序提供了与Java服务器之间的实时双向通信。BlazeDS支持AMF(Action Message Format)...

    flex可以使用的crud例子

    Flex中的List、DataGrid等组件可以绑定到数据源,当数据从服务器加载时,这些组件会自动更新。HTTPService或WebService组件可以配置为GET请求,以获取服务器上的数据。 3. **更新(Update)**:更新数据涉及选择要...

    java开发的一个flex实例 使用DAGAGRID

    在本文中,我们将深入探讨如何使用Java开发一个Flex实例,特别是如何利用DAGAGRID组件进行数据库交互。Flex是一款强大的富互联网应用(RIA)开发框架,它允许开发者创建交互式、响应式的用户界面。Java则作为后端...

    Flex连接数据库三种方法

    - 将从服务端获取的公告数据绑定到Flex界面组件,如List或DataGrid,以便用户查看。 通过这种方式,Flex应用能够利用RemoteObject以面向对象的方式与Java服务端进行深度交互,实现数据库的读写操作。这种做法使得...

Global site tag (gtag.js) - Google Analytics