从数据库传递的数据能否作为gxt页面组件的参数?
最近要做一个程序,利用sql整合多个表格的信息并显示在一个表格中,表格内容成功传递没有问题,但是当我显示在Editorgrid上的时候,发现无法修改Editorgrid的表头,事实上我在另一个数据库表格中定义了每一列数据的默认宽度和表头内容,但是当这些信息返回到页面上的时候,表头已经显示完了。
进一步的测试表明,我使用的Events.BeforeAdopt是能够找到的最早触发的事件,而如果在这个事件中单独定义具体某一个表头信息的时候(函数形式),这个信息被采纳了。
而在事件中加入弹窗来显示信息也表明,数据库中的信息被成功提取。
所以综合以上的信息,可以发现问题的原因是,当这个action(非同步)被执行的时候,页面仍在继续创建中,数据被提取到用户端时,表格已经创建完成了。
所以可能有两种方法可能解决这个问题。
第一,让gxt页面先休眠一段时间,这个似乎是被禁止的。
第二,让这个action变成同步的。但是即使是搜英文的也找不到结果啊。
谢谢了。
代码:
定义:
public static String[] header=new String [12];
访问数据库提取信息:
txtNumero.addListener(Events.BeforeAdopt, new Listener<ComponentEvent>() {
public void handleEvent(ComponentEvent e) {
Window.alert("BeforeAdopt");
serInfoAsync action_produit =serInfo.Util.getInstance();
action_produit.get_produit_list(new AsyncCallback<String[][]>(){
public void onFailure(Throwable caught) {
Window.alert("failure");
final String message = caught.getMessage();
Window.alert(message);
}
public void onSuccess(String[][] result) {
produits_table=result;
ligne = Integer.valueOf(produits_table[49][49]).intValue();
colomn = Integer.valueOf(produits_table[49][48]).intValue();
for(int k=0;k<colomn;k++){
int longeur=Integer.valueOf(result[k][48]).intValue()/2+1;
for(int m=0;m<Integer.valueOf(result[49][49]).intValue();m++){
int ll=result[m][k].length();
while(ll<longeur){
result[m][k]=result[m][k]+" ";
ll++;
}
}
}
for (int i=0;i<ligne;i++){
BaseModel bm = new BaseModel();
for(int j=0;j<colomn;j++){
bm.set("c"+(j+1),produits_table[i][j]);
}
itemStore.add(bm);
}
for(int i=0;i<12;i++){
header[i]="";
}
for(int i=0;i<colomn;i++){
header[i]=produits_table[i][49];
widColomn[i]=Integer.valueOf(produits_table[i][48]).intValue();
}
Window.alert("re-render suss:"+widColomn[0]+" "+header[1]+" "+result[0][0]);
sortir=1;
}
});
action_produit.getRequestList(new AsyncCallback<String[][]>(){
public void onFailure(Throwable caught) {
Window.alert("failure");
final String message = caught.getMessage();
Window.alert(message);
}
public void onSuccess(String[][] result) {
for (int i=0;i<Double.valueOf(result[99][0]).doubleValue();i++){
BaseModel bm = new BaseModel();
bm.set("name",result[i][0]);
bm.set("idRequest",result[i][1]);
//bm.set("nombre", 1);
itemStore2.add(bm);
}
}
});
header[2]="BeforeRender";
}
});
显示列的部分:
ColumnConfig column1 = new ColumnConfig();
column1.setId("c1");
column1.setHeader("header");
column1.setStyle("font-size:16px;");
int wid_column1_position=widColomn[0]*scrwid/widtotal;
column1.setWidth(wid_column1_position);
//column1.setSortable(false);
column1.setMenuDisabled(true);
column1.setRenderer(change);
configs.add(column1);
ColumnConfig column2 = new ColumnConfig();
column2.setId("c2");
column2.setHeader(header[1]);
column2.setStyle("font-size:16px;");
int wid_column2_position=widColomn[1]*scrwid/widtotal;
column2.setWidth(wid_column2_position);
column2.setRenderer(change);
configs.add(column2);
相关推荐
将GXT、GWT与Spring结合使用,可以构建出高效、可维护且功能齐全的企业级Web应用。 GXT是Ext JS的一个Java版本,提供了大量的桌面级UI组件,如表格、图表、树形视图等,同时还支持数据绑定和分页功能。GXT的优势...
- **GXT架构**:了解GXT的基本架构及其与GWT的关系。 - **开发环境搭建**:包括安装必要的工具如Eclipse IDE、SDK配置等。 - **第一个GXT项目**:从零开始创建一个简单的GXT应用程序,熟悉基本流程。 2. **UI...
通过"GXt项目",开发者不仅可以学习到如何使用GXT构建高效且美观的Web应用,还能掌握如何将GXT与其他技术如Spring、Hibernate等集成,以实现更全面的业务逻辑。这个项目无疑为初学者和有经验的开发者都提供了一次...
在GXT中,数据通常与业务对象(BO,Business Object)关联,这些BO封装了数据库中的记录。`Country`类可能包含了国家ID、名称等属性,而`Province`类则包含了省份ID、省份名称以及对应的国家ID等属性。这两个类提供...
ExtGWT与GWT协同工作主要是通过将GXT的组件库和资源加入到GWT项目中来实现。添加ExtGWT到GWT项目通常涉及以下步骤: 1. 从Sencha官网下载对应的GXT SDK。 2. 在GWT项目中配置和引用GXT相关类库。 3. 将GXT自带的资源...
GXT与其它前端框架(如Angular, React, Vue等)相比,主要优势在于其Java背景,适合有Java基础的开发者,同时也能够利用GWT的跨浏览器兼容性和自动优化功能。然而,对于纯前端开发者,可能更倾向于选择原生的...
这些服务端组件帮助GXT应用在客户端和服务器之间进行数据同步,实现页面的异步更新和数据的动态加载。 GXT-1.2.3版本可能包含以下关键知识点: 1. **组件库**:GXT提供了一套完整的组件集合,包括数据视图、表格、...
2. **CSS样式与皮肤** gxt-javadoc.css 文件是API文档的样式表,它定义了文档中的排版和视觉样式。在自定义GXT应用的外观时,了解此CSS文件可以帮助开发者更好地调整和定制GXT组件的样式。 3. **索引和概述** `...
与2.1.1版本相比,2.2.5在性能上有所提升,减少了页面加载时间和内存占用,提高了用户界面的响应速度,尤其在处理大量数据时,表现更加出色。 4. **主题与皮肤**: GXT提供了多种预设主题,如blue、gray、classic...
这个文档专门介绍如何利用JavaBeans与GXT协同工作,包括数据模型的创建、数据的读写以及如何在UI上实时反映数据变化,是理解GXT数据绑定机制的重要参考资料。 通过学习上述文档,开发者将能够熟练地运用GXT来构建...
标题中的"Gxt"指的是Sencha GXT,这是一个基于Google Web Toolkit (GWT) 的Java库,专门用于构建富互联网应用程序(Rich Internet Applications, RIA)。GXT提供了丰富的组件、数据绑定、布局管理以及主题定制等功能...
然后在浏览器中按需刷新页面,查看代码更新效果。 通过以上步骤,你就成功创建了一个基础的GXT项目。随着对GXT库的深入理解和实践,你可以构建更复杂的用户界面,利用其强大的组件和数据绑定功能,实现高效、美观的...
### ExtGWT、GWT与GXT初学教程:打造企业级富客户端Web应用 #### 构建初识:ExtGWT与GWT的协同工作 ExtGWT,作为GWT(Google Web Toolkit)的有力补充,旨在为Java开发者提供更为丰富、功能全面的组件库,从而构建...
《GXT API 2.2.5:深入理解与应用》 GXT,全称GWT Extensions,是一款基于Google Web Toolkit (GWT) 的开源UI组件库,它为Web应用程序提供了丰富的用户界面组件和功能。GXT API 2.2.5是这个库的一个版本,包含了...
模型对象通常与数据库或其他数据存储进行交互,获取或更新数据,并在数据发生变化时通知视图。 2. **View**(视图):视图是用户看到和与之交互的界面部分。它展示模型的数据,并且根据模型的变化进行相应的更新。...
GWT(Google Web Toolkit)和GXT(EXT GWT)是两个重要的Java开发框架,用于构建富互联网应用程序(RIA)。GWT是由Google开发的一个开源工具,它允许开发者使用Java语言来编写前端用户界面,然后自动将Java代码编译...
浪曦原创]GXT系列+第1讲+GXT_GWT的安装.
GXT(Ext GWT)是Sencha公司推出的一个强大的JavaScript库,专为构建富互联网应用程序(RIA)设计,尤其在企业级应用中广泛使用。它基于Google的GWT(Google Web Toolkit),允许开发者使用Java语言编写客户端代码,...
文件上传是GWT和GXT中常见的功能,通过以上方法,开发者可以创建出用户友好的文件上传界面,并实现与服务器的数据交换。在处理文件上传时,理解这些基本概念和API是至关重要的,这将有助于构建出高效、安全的Web应用...