`

GWT:增加remote框+回车监听

 
阅读更多
//排序(1)=进入页面,排序(2)=初始化 远程框,排序(3)=准备调用后台方法,
//排序(4)=调用后台方法,排序(5)=执行后台方法,获取客户对象,反馈客户编码,
//排序(6)=后台方法处理完毕,如果正确进入此方法,并将后台数据保存在custorCode字段,
//排序(7)=根据6发送的消息判断是否相等,相等对customerLabelTextUI控件赋值

//MaintainFirstPackageCheckPage.java
public class MaintainFirstPackageCheckPage extends 
	BaseCustomMaintainTemplate implements IsSerializable{
	//包装数量采集面板
	private transient ScaningPanel scaningPanel;
	//排序(1)
	public void draw(com.gwtext.client.widgets.Panel content) {
		scaningPanel = new ScaningPanel(this, "ScaningPanel");
		container.add(scaningPanel, new RowLayoutData("8%"));
	}
	//排序(7)
	public void doDispath(String message){
		if (message.equals("MSG_CUSTOR_CODE")) {
			scaningPanel.customerLabelTextUI.setValue
				(PackagingDataAccessor.custorCode);
		}
	}
}
//ScaningPanel.java
public class ScaningPanel extends AbstractSupportPanel{
	//客户编码
	private transient TextUI customerLabelTextUI;
	//远程框
	private transient CustomRemoteUI customerLabelRemoteUI;//yc min
	//排序(2)
	protected void draw() {
			String pageName = "MaintainFirstPackageCheckPage.";
			String custerHql = "SELECT company.id,company.code,company.name"+
					 " FROM WmsOrganization company"+
					 " WHERE company.status = 'ENABLED'"+
					 " AND company.beCustomer = true" +
					 " AND company.subjectionWarehouse =#{SESSION_WAREHOUSE}"+
					 " AND (company.code  LIKE :param OR company.name LIKE :param)";
			customerLabelRemoteUI = com.vtradex.wms.client.ui.UIFactory.
				createStandardRemoteUI(pageName + "customerLabelRemoteUI", 
					custerHql, false, true, 1, 180, 3, "序号,编码,名称");
			customerLabelRemoteUI.setRemoteUIConfig(com.vtradex.wms.client.ui.
				UIFactory.createRemoteUIConfig(
					com.vtradex.wms.client.ui.UIFactory.
						createTextUIConfig(pageName + "customerLabelRemoteUI")));
			customerLabelRemoteUI.setRow(1);
			customerLabelRemoteUI.setColumn(4);
			customerLabelRemoteUI.addToTable(formTable);
			customerLabelRemoteUI.setFocusUI(Boolean.TRUE);
			TextBox tb = customerLabelRemoteUI.getTextBox();
			tb.addKeyboardListener(new KeyboardListener() {//增加监听
				public void onKeyDown(Widget sender, char keyCode, int modifiers) {
				}
				public void onKeyPress(Widget sender, char keyCode,
						int modifiers) {
					initInfo(customerLabelRemoteUI.getValue());
					
					if(StringUtils.isEmpty((String)customerLabelTextUI.getValue())){
						showMessage("客户编码不能为空", Boolean.FALSE);
					}else{
						getCheckInfoByItemAndCustomer();
					}
				}
				public void onKeyUp(Widget sender, char keyCode, int modifiers) {
					initInfo(customerLabelRemoteUI.getValue());
				}			
			});
			
			customerLabelTextUI = UIFactory.createTextUI("客户编码", true, true, 1,180);
			customerLabelTextUI.setRow(1);
			customerLabelTextUI.setColumn(5);
			customerLabelTextUI.addToTable(formTable);
			customerLabelTextUI.setVisible(Boolean.FALSE);
			((TextBox)customerLabelTextUI.getInputWidget()).
				addKeyboardListener(new KeyboardListener() {		
				public void onKeyUp(Widget sender, char keyCode, int modifiers) {
					if(KeyboardListener.KEY_ENTER == keyCode){
						if(StringUtils.isEmpty((String)customerLabelTextUI.getValue())){
							showMessage("客户编码不能为空", Boolean.FALSE);
						}else{
							getCheckInfoByItemAndCustomer();
						}						
					}				
				}
				public void onKeyPress(Widget sender, 
					char keyCode, int modifiers) {
				}			
				public void onKeyDown(Widget sender, 
					char keyCode, int modifiers) {		
				}
			});
	}
	
	/**
	 * 获取作业指导和高关注
	 */
	public void getCheckInfoByItemAndCustomer(){
		Map parameterMap = new HashMap();
		parameterMap.put(PackagingConstants.KEY_ITEM_LABEL,
			itemLabelTextUI.getValue().toString().trim().toUpperCase());
		parameterMap.put(PackagingConstants.KEY_CUSTOMER_LABEL, 
				customerLabelTextUI.getValue().toString().trim().toUpperCase());
		MaintainFirstPackageCheckPage.this.getData().
			getCheckInfoByItemAndCustomer(parameterMap);
	}
	//排序(3)
	public void initInfo(Object object){
		if(object != null){
			if(isNUllOREmpty(object.toString())){
				return;
			}
		}
		Map<String, String> map = new HashMap<String, String>();
		map.put("custorId",object.toString());
		MaintainFirstPackageCheckPage.this.getData().getCustorCode(map);
	}
	private boolean isNUllOREmpty(String str){
		if(str==null || str.equals("")){
			return true;
		}
		return false;
	}
	
	public PackagingDataAccessor getData() {
		return (PackagingDataAccessor)super.getData();
		
	}
}

//PackagingDataAccessor.java
public class PackagingDataAccessor extends 
	BaseCustomMaintainTemplate implements IsSerializable{
	
	public static String custorCode;
	//排序(4)
	/**获取客户code yc min*/
	public void getCustorCode(Map params){
		//String message,String managerName,String methodName,Map params
		this.remoteCall("MSG_CUSTOR_CODE", "pcFirstPackageManager", 
			"getCustorCode", params);
	}
	//排序(6)PackagingDataAccessor
	public void onSuccess(String message, Map result) {
		if(message.equals("MSG_CUSTOR_CODE")){
			custorCode = (String) result.get("custorCode");
			this.sendMessage("MSG_CUSTOR_CODE");
		}
	}
}

//排序(5)
//pcFirstPackageManager
public class DefaultPCFirstPackageManager extends DefaultBaseManager 
	implements PCFirstPackageManager {
	public Map getCustorCode(Map params){
		Map<String,String> result = new HashMap<String, String>();
		if(params.get("custorId")==null){
			return null;
		}
		try {
			Long custorId = Long.parseLong((String)params.get("custorId"));
			WmsOrganization company = commonDao.load
				(WmsOrganization.class, custorId);
			if(company==null){
				return null;
			}
			result.put("custorCode", company.getCode());
		} catch (Exception e) {
			return null;
		}
		return result;
	}
}

 

 

  • 大小: 48.5 KB
分享到:
评论

相关推荐

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合

    GSH:spring3.1.0M2+Hibernate3.5+GWT2.4+JPA+Annotation+Spring4gwt0.0.1亲手整合,也可以上新浪博客去看 http://blog.sina.com.cn/s/blog_687dfecb0100yrmf.html

    GWT-Development:GWT+GWTP+Maven 简单演示

    使用的技术: IDE:eclipse Luna Service Release 2 (4.4.2) Jar 管理:Apache Maven Web 技术:GWT、GWTP、CSS 版本 GWT 版本:2.7.0 gwt-maven-plugin.version:2.7.0 目标.jdk:1.7

    gwt+spring+hibernate

    标题 "gwt+spring+hibernate" 涉及的是一个使用Google Web Toolkit (GWT)、Spring框架和Hibernate ORM技术的集成示例。这是一个常见的Web应用开发组合,用于构建高效、可扩展且功能丰富的Java web应用程序。下面将...

    Accelerated GWT: Building Enterprise Google Web Toolkit Applications

    《加速GWT:构建企业级Google Web Toolkit应用》是一本深度探讨如何利用Google Web Toolkit(GWT)构建高性能Ajax应用程序的专业书籍。本书作者Vipul Gupta深入解析了GWT的核心功能,以及如何通过GWT生成优化的...

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    GWT的设计灵感来源于Java AWT包的设计理念,包括类命名规则、接口设计、事件监听机制等方面。 - **核心特点**: - **跨平台兼容性**: GWT编译器能够将Java代码转换为浏览器兼容的JavaScript和HTML代码。 - **高...

    GWT+EXT+STRUTS2+Eclipse完整范例.rar

    标题 "GWT+EXT+STRUTS2+Eclipse完整范例.rar" 提示我们这是一个包含一个集成开发环境Eclipse的项目,该项目集成了Google Web Toolkit (GWT), EXT JS 和Struts2框架。描述 "整合 GWT EXT STRUTS2 Eclipse 范例" 明确...

    GWT-EXT+IBATIS+SQL实现表格,树,面板

    例子包括对GWT-EXT的对表格,树,面板操作。对与IBATIS数据结合使用。包括客户端与服务器端,此例子在netbeans6.5下面可以正常运行 整个工程文件太大,这里只能上传源代码,如果需要整个工程的可以发邮件给我 ...

    GWT1.7+Spring2.5+Hibernate3集成(保证能用!)

    完整代码,绝对能用:Spring和...GWT部分集成了Spring的Service(网上的例子很少,要不代码不全,要不不能使用,这个保证完全可以使用)。请注意各个配置文件,程序所用的包都在WEB-INF下的图片上,请自行下载。

    gef-gwt:GWT 的图形编辑框架 (GEF3)

    gef-gwt GWT 的图形编辑框架 (GEF3)用法在您的 Maven 项目 pom 文件中添加此依赖项: &lt; dependency&gt; &lt; groupId&gt;org.eclipselabs&lt;/ groupId&gt; &lt; artifactId&gt;gef-gwt&lt;/ artifactId&gt; &lt; version&gt;3.7.0&lt;/ version&gt;&lt;/ ...

    grails-gwt:新的 Grails GWT 插件

    Grails GWT插件介绍Google Web Toolkit (GWT) 是一种高级 AJAX 框架,允许您使用 Java 开发丰富的用户界面,从而利用类型检查和代码重用。 然后 GWT 将编译您的 Java 代码并生成可以包含在您选择的任何网页中的快速...

    smartgwt+mybatis+spring的整合

    在SmartGwt+Mybatis+Spring的项目中,Mybatis主要负责与数据库的交互,Spring可以管理Mybatis的SqlSessionFactory和Mapper接口。 3. **Spring**:Spring框架是Java开发的基石,它提供了众多企业级特性,如依赖注入...

    gwt_boot:GWT 2.6.1 + 弹簧靴

    【GWT 2.6.1 与 Spring Boot 结合详解】 GWT(Google Web Toolkit)是一款由Google开发的开源JavaScript开发工具,它允许开发者使用Java语言编写客户端Web应用程序。GWT 2.6.1是该框架的一个版本,包含了众多优化和...

    gwt 练习 gwt学习

    6. **RPC通信**:GWT的Remote Procedure Call (RPC)机制使得客户端和服务器之间能进行数据交换。在StockWatcher中,可能需要一个服务接口来获取实时股票数据。 7. **异步编程**:由于RPC调用是异步的,开发者需要...

    GWTAPI文档 + GWTEXT文档 + GWTEXTUX文档

    4. **事件处理**:GWT提供了一套完整的事件模型,包括事件监听、事件冒泡和事件分发机制。 5. **异步通信**:通过RemoteProcedureCall(RPC)实现服务器端和客户端之间的数据交换,同时支持JSON、XML等多种数据格式...

    GWT入门教程+实例代码

    **GWT 入门教程与实例解析** Google Web Toolkit(GWT)是Google推出的一款用于构建高性能、跨浏览器的Web应用程序的开源开发工具。它基于Java语言,通过编译Java源代码为JavaScript,使得开发者可以利用Java的强大...

    gwt-ol:使用JSInterop的OpenLayers 3+的GWT包装器

    GWT-OpenLayers 3+ 使用gwt-ol,您可以使用纯Java编写用于Web和移动设备的快速映射应用程序。 从技术上讲,它是使用的用于的GWT包装器。 该项目包括两个部分: 适用于OpenLayers 3+的GWT包装器(gwt-ol3-client) ...

    common-widgets-gwt:gwt 小部件库

    **异步通信:Remote Procedure Calls (RPC)** GWT的RPC机制允许客户端与服务器之间进行高效的数据交换。通过定义服务接口和服务实现,开发者可以在客户端调用服务器端的方法,实现数据的获取和更新,所有这些都是...

Global site tag (gtag.js) - Google Analytics