0 0

gwt代码优化5

我在服务端定义了两个方法querydata1、querydata,在客户端页面上添加了两个grid,grid显示了quyerdata后台查询数据,双击grid,grid1根据双击grid的莫一行某一列的数据调用querydata1并将结果显示在grid1中。我的问题是
1、如何获得grid双击莫一行莫一列的值。
2、我写的客户端代码比较凌乱,能否给优化一下。
public class InfoList implements EntryPoint {

	private GridPanel grid;
	private GridPanel grid1;
	//@SuppressWarnings("unchecked")
	public void onModuleLoad() {
		final InfoListActionAsync action = InfoListAction.Util.getInstance();
		
		action.queryData(new AsyncCallback() {

			public void onFailure(Throwable caught) {

			}

			public void onSuccess(Object result) {
				Panel panel = new Panel();
				panel.setBorder(false);
				panel.setPaddings(15);
				
				RecordDef recordDef = new RecordDef(new FieldDef[] {						
						new StringFieldDef("材料名称"),
						new StringFieldDef("规格型号"),
						new StringFieldDef("计量单位"),
						new StringFieldDef("期末库存"),
						new StringFieldDef("期末库存金额") });

				String[][] data = (String[][]) result;
				MemoryProxy proxy = new MemoryProxy(data);
				ArrayReader reader = new ArrayReader(recordDef);
				final Store store = new Store(proxy, reader,false);

				ColumnConfig clmcColumn = new ColumnConfig("材料名称", "材料名称", 220, false);
				clmcColumn.setAlign(TextAlign.CENTER);
				
				ColumnConfig ggxhColumn = new ColumnConfig("规格型号", "规格型号", 400, false);
				ggxhColumn.setAlign(TextAlign.CENTER);
				
				ColumnConfig jldwColumn = new ColumnConfig("单位", "计量单位", 60, false);
				jldwColumn.setAlign(TextAlign.CENTER);
				
				ColumnConfig qmkcColumn = new ColumnConfig("数量", "期末库存", 110, false);
				qmkcColumn.setAlign(TextAlign.CENTER);
				
				ColumnConfig qmkcjeColumn = new ColumnConfig("金额", "期末库存金额", 150, false);
				qmkcjeColumn.setAlign(TextAlign.CENTER);


				ColumnModel columnModel = new ColumnModel(new ColumnConfig[]{
						clmcColumn,
						ggxhColumn,
						jldwColumn,
						qmkcColumn,
						qmkcjeColumn
				});
				
				grid = new GridPanel();
				
				grid.setHeight(400);
				grid.setWidth(975);
				grid.setTitle("库存明细查询");
				grid.setStore(store);				
				grid.setColumnModel(columnModel);
				grid.setTrackMouseOver(false);
				grid.setLoadMask(true);
				grid.setSelectionModel(new RowSelectionModel());				
				grid.setFrame(true);
				grid.setStripeRows(true);
				grid.setIconCls("grid-icon");
				
				Toolbar topToolbar = new Toolbar();
				topToolbar.addFill();
				grid.setTopToolbar(topToolbar);
				
				GridSearchPlugin gridSearch = new GridSearchPlugin(GridSearchPlugin.TOP);
				gridSearch.init(grid);
				gridSearch.setMode(GridSearchPlugin.LOCAL);
				
				grid.addPlugin(gridSearch);
				
				/*Toolbar bottomToolbar = new Toolbar();
				bottomToolbar.addFill();
				bottomToolbar.addButton(new ToolbarButton("条件清除",
						new ButtonListenerAdapter() {
							public void onClick(Button button, EventObject e) {
								grid.clearSortState(true);
							}
						}));

				grid.setBottomToolbar(bottomToolbar);*/
				
				store.load();
				
				final RecordDef recordDef1 = new RecordDef(new FieldDef[] {						
						new StringFieldDef("仓库名称"),
						new StringFieldDef("库存数量"),
						new StringFieldDef("库存金额"),
						new StringFieldDef("当月消耗"),
						new StringFieldDef("消耗金额") });
				
				ColumnConfig clmcColumn1 = new ColumnConfig("仓库名称", "仓库名称", 320, false);
				clmcColumn1.setAlign(TextAlign.CENTER);
				
				ColumnConfig ggxhColumn1 = new ColumnConfig("库存数量", "库存数量", 110, false);
				ggxhColumn1.setAlign(TextAlign.CENTER);
				
				ColumnConfig jldwColumn1 = new ColumnConfig("库存金额", "库存金额", 200, false);
				jldwColumn1.setAlign(TextAlign.CENTER);
				
				ColumnConfig qmkcColumn1 = new ColumnConfig("当月消耗", "当月消耗", 110, false);
				qmkcColumn1.setAlign(TextAlign.CENTER);
				
				ColumnConfig qmkcjeColumn1 = new ColumnConfig("消耗金额", "消耗金额", 200, false);
				qmkcjeColumn1.setAlign(TextAlign.CENTER);


				ColumnModel columnModel1 = new ColumnModel(new ColumnConfig[]{
						clmcColumn1,
						ggxhColumn1,
						jldwColumn1,
						qmkcColumn1,
						qmkcjeColumn1
				});
				
				String[][] data1 = null;
				data1 = new String[1][5];
				data1[0][0]= "";
				data1[0][1]= "";
				data1[0][2]= "";
				data1[0][3]= "";
				data1[0][4]= "";
				
				MemoryProxy proxy1 = new MemoryProxy(data1);
				ArrayReader reader1 = new ArrayReader(recordDef1);
				Store store1 = new Store(proxy1, reader1,false);
				store1.load();
				grid.addGridRowListener(new GridRowListener(){
					public void onRowDblClick(GridPanel grid, int rowIndex, EventObject e){
						action.queryData1(new AsyncCallback(){
							public void onFailure(Throwable caught) {

							}

							public void onSuccess(Object result) {
								final RecordDef recordDef1 = new RecordDef(new FieldDef[] {						
										new StringFieldDef("仓库名称"),
										new StringFieldDef("库存数量"),
										new StringFieldDef("库存金额"),
										new StringFieldDef("当月消耗"),
										new StringFieldDef("消耗金额") });
								
								ColumnConfig clmcColumn1 = new ColumnConfig("仓库名称", "仓库名称", 320, false);
								clmcColumn1.setAlign(TextAlign.CENTER);
								
								ColumnConfig ggxhColumn1 = new ColumnConfig("库存数量", "库存数量", 110, false);
								ggxhColumn1.setAlign(TextAlign.CENTER);
								
								ColumnConfig jldwColumn1 = new ColumnConfig("库存金额", "库存金额", 200, false);
								jldwColumn1.setAlign(TextAlign.CENTER);
								
								ColumnConfig qmkcColumn1 = new ColumnConfig("当月消耗", "当月消耗", 110, false);
								qmkcColumn1.setAlign(TextAlign.CENTER);
								
								ColumnConfig qmkcjeColumn1 = new ColumnConfig("消耗金额", "消耗金额", 200, false);
								qmkcjeColumn1.setAlign(TextAlign.CENTER);
								ColumnModel columnModel1 = new ColumnModel(new ColumnConfig[]{
										clmcColumn1,
										ggxhColumn1,
										jldwColumn1,
										qmkcColumn1,
										qmkcjeColumn1
								});
								String[][] data1 = (String[][]) result;
								MemoryProxy proxy1 = new MemoryProxy(data1);
								ArrayReader reader1 = new ArrayReader(recordDef1);
								Store store1 = new Store(proxy1, reader1,false);
								grid1.reconfigure(store1, columnModel1);
								store1.reload();
							}
						});
					}
					
					public void onRowClick(GridPanel grid, int rowIndex, EventObject e){
						
					}
					
					public void onRowContextMenu(GridPanel grid, int rowIndex, EventObject e){
						
					}
					
				});
				
				panel.add(grid);

				grid1 = new GridPanel();
				
				grid1.setHeight(160);
				grid1.setWidth(975);
				grid1.setStore(store1);				
				grid1.setColumnModel(columnModel1);
				grid1.setTrackMouseOver(false);
				grid1.setLoadMask(true);
				grid1.setSelectionModel(new RowSelectionModel());				
				grid1.setFrame(true);
				grid1.setStripeRows(true);

				panel.add(grid1);

				RootPanel.get().add(panel);
			}
		});
	}
}
GWT 
2008年6月30日 16:22
目前还没有答案

相关推荐

    google web toolkit

    Google Web Toolkit (GWT),可以使用 Java 编程语言...准备好进行部署后,GWT 会将 Java 源代码编译到优化且独立的 JavaScript 文件中。使用 Google Web Toolkit 可以轻松地为现有网页或整个应用程序构建一个 Widget。

    Google Web Toolkit

    有了 Google Web Toolkit (GWT),可以使用 Java 编程...准备好进行部署后,GWT 会将 Java 源代码编译到优化且独立的 JavaScript 文件中。使用 Google Web Toolkit 可以轻松地为现有网页或整个应用程序构建一个 Widget。

    JAVA上百实例源码以及开源项目源代码

    J2ME优化压缩PNG文件 4个目标文件 内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失...

    gwt-phys2d:从 code.google.compgwt-phys2d 自动导出

    这是一个将 phys2D java 物理引擎移植到 Google Web Toolkit 并找出如何优化 GWT->JS 代码以提高性能的实验。 如果您正在寻找在实际产品中使用的东西,您可能想要使用类似东西。 演示: : 撰写: :

    JAVA上百实例源码以及开源项目

    J2ME优化压缩PNG文件 4个目标文件 内容索引:JAVA源码,综合应用,J2me游戏,PNG,图形处理  这是个J2ME控制台程序,它能剔除PNG文件中的非关键数据段,减少文件大小从而达到压缩图片的目的。而图片的质量并不会受到损失...

    matlab代码续行-graffiti:我的尝试项目的集合,这些尝试项目具有新技能或仅出于娱乐目的

    matlab代码续行涂鸦 我的试用项目的集合,这些项目具有新技能或仅出于娱乐目的。 深度学习 一组深度学习模型的实现,其中包含对现实问题的培训。 手势 完工: 训练集由1080张64 * 64像素的图像组成,带有标签,代表...

    jpmml-model:用于PMML的Java类模型API

    JPMML模型 用于预测模型标记语言(PMML)的Java类模型API。...安装JPMML模型库JAR文件(以及随附的Java源代码和Javadocs JAR文件)通过发行。 当前版本是1.5.15 (2021年3月22日)。 < dependency>< groupId>org.

    log4Net详解(共2讲)

    5、了解ExtJs代码的混淆、加密与优化; 6、了解大型实际商业OA项目流程及实战如何使用Ext快速开而简单地开发单页面应用。 注:如果你也在思考下面的问题,那么也许本视频讲座就是你想要的: 1、试与jQuery一争...

    j2cl:Java关闭JavaScript转译器

    使用紧密优化JavaScript应用程序中的无缝Java J2CL是从Java到Closure样式JavaScript的强大,简单且轻量级的编译器。 充分利用Java和JavaScript。 您不再需要在两者之间进行选择,也不必锁定特定的框架或语言。 在...

Global site tag (gtag.js) - Google Analytics