最近用Ext做一个小程序,在用到GridPanel的时候遇到了一些问题,但最后都解决了
,得到了很多,写下来与大家分享。
首先,要在界面显示层用GridPanel来显示数据,具体代码如下:
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css"
/>
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
Ext.QuickTips.init();
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
sm,
{header:'NO.',renderer:function(value, cellmeta, record, rowIndex){
return rowIndex + 1;
}},
{header:'品牌',dataIndex:'name',sortable:true},
{header:'型号',dataIndex:'size',sortable:true},
{header:'价格',dataIndex:'price',sortable:true}
]);
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'softMachineInit.action'}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalProperty',
root: 'list'},//注意list,totalProperty在相应的action类中得有
//get,set方法。
Ext.data.Record.create(
[{name:'name'},
{name:'size'},
{name:'price'}
]))
});
ds.load({params:{start:0,limit:5}});
var grid = new Ext.grid.GridPanel({
id:'grid',
title:'饮水机信息表',
ds: ds,
height:300,
cm: cm,
sm: sm,
stripeRows:true,//隔行换色
loadMask:true,//在加载数据时的遮罩效果
trackMouseOver:true,
bbar: new Ext.PagingToolbar({
pageSize: 5,
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
});
grid.render("grid-example");
});
</script>
在body标签里面有相应的div显示:
<div id="grid-example" style="margin: 10px;"></div>
在struts.xml配置文件中的代码部分如下:
<struts>
<package name="My" extends="json-default">
<action name="softMachineInit" class="softMachineAction" method="softMachineInit">
<result type="json">
</result>
</action>
</package>
</struts>
同时,还记着有json的插件必须引进来,具体的插件在本文的附件中。
Java代码部分如下:
public class SoftMachineAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private SoftMachine softMachine;
private SoftMachineDao softMachineDao;
private String start;
private String limit;
List list;
Long totalProperty;
public Long getTotalProperty() {
return totalProperty;
}
public void setTotalProperty(Long totalProperty) {
this.totalProperty = totalProperty;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public void setSoftMachine(SoftMachine softMachine) {
this.softMachine = softMachine;
}
public void setSoftMachineDao(SoftMachineDao softMachineDao) {
this.softMachineDao = softMachineDao;
}
@SuppressWarnings("unchecked")
public String softMachineInit() {
this.setTotalProperty(80L);
list = new ArrayList<SoftMachine>();
try {
int index = Integer.parseInt(this.start);
int pageSize = Integer.parseInt(this.limit);
//这段代码挺重要的,通过得到index,pageSize,可以从数据
// 库来执行相应的select操作。下面的for循环是一个模拟过程
//同时,特别注意,在action类中,必须有list和totalProperty
//的get,set方法,这两个属性时与Ext中的代码心对应的。
for(int i=0;i<5;i++){
SoftMachine softMachine = new SoftMachine();
softMachine.setName("name"+i);
softMachine.setSize("size"+i);
softMachine.setPrice(Long.valueOf(77+i));
list.add(softMachine);
}
} catch (Exception ex) {
}
return SUCCESS;
}
public void setStart(String start) {
this.start = start;
}
public void setLimit(String limit) {
this.limit = limit;
}
}
好了,这样就可以了。试试吧!
分享到:
相关推荐
7. **Eclipse工程**:作为Eclipse工程,这可能是用Java语言开发的EXT应用程序,利用EXT的JavaScript库和Java服务器端技术(如Spring或Struts)进行交互。源码可能包括了如何在Java后端处理数据请求,以及如何将数据...
本文将详细介绍EXT与Struts2的结合使用,并通过标题和描述中的关键词,如“树”、“gridpanel”、“分页”、“文件上传”和“tabpanel”,深入探讨这些组件的应用。 EXT是一个强大的JavaScript库,它提供了丰富的...
标题中的“Json(struts2+Ext)”指的是在Java Web开发框架Struts2中结合Ext库进行JSON数据交互的相关技术。Struts2是一个流行的MVC框架,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于...
在实际开发过程中,开发者需要理解每个框架的核心概念和用法,例如Struts2的Action和Result,EXT的GridPanel和FormPanel,Spring的Bean配置和AOP注解,Hibernate的实体类和映射文件,JPA的实体和查询,以及EJB的...
在Struts2应用中,Ext通常作为前端展示层,通过Ajax与后台Struts2 Action进行交互。Ext的JSONStore可以配合Struts2的JsonResult或JsonPlugin,使Action直接返回JSON数据,从而驱动Ext的GridPanel等组件动态更新。 ...
EXT的Store和GridPanel等组件可以轻松地与后端数据源进行通信,实现数据的动态加载和显示。 综合以上,这个图书管理系统利用了SSH和EXT的优势,构建了一个高效、易维护的系统。开发者可以通过学习此项目,掌握Java ...
本文将深入探讨如何使用这两种技术实现Grid的增删改查功能,帮助新手理解ExtJS4与Struts2.1的交互机制。 首先,我们来看ExtJS4中的Grid组件。Grid是ExtJS中用于展示和管理数据的一种视图,它提供了一种灵活且可定制...
【Ext与SSH结合案例】是将流行的前端JavaScript框架ExtJS与后端的Struts2、Hibernate集成,构建出高效、美观且功能丰富的Web应用程序。在这个案例中,ExtJS主要用于创建用户界面,提供卓越的交互性和视觉效果,而...
开发者可以轻松地在JavaScript中调用Java方法,使得前端与后端的交互更加简洁高效。 **Hibernate:持久层解决方案** Hibernate是一个优秀的对象关系映射(ORM)框架,简化了数据库操作。在进销存系统中,Hibernate...
var grid = new Ext.grid.GridPanel({ store: ds, columnModel: cm, tbar: getPager(ds), autoHeight: true, renderTo: 'example-grid', stripeRows: true }); }); function getPager(store) { return new...
在前端,ExtJS通过其GridPanel显示书籍列表,FormPanel用于数据录入和编辑,而Store负责与服务器进行数据交换。在后端,Struts处理HTTP请求,执行业务逻辑,并通过Action返回JSON数据到前端。 项目中可能包含以下几...
开发者可以通过定义Store来连接后台数据源,GridPanel用于显示数据,FormPanel用于编辑和保存数据,而Ext.Ajax则用于发送异步请求。 总的来说,这个实例展示了如何将这些技术结合在一起,形成一个完整的Web应用开发...
结合这些信息,我们可以推测“ext小纸条”是一个使用ExtJS创建的Web应用,用户可以在界面上创建、编辑和删除便签,这些操作会通过Struts框架与后台的MySQL数据库进行通信,实现数据的存取。文件名称"MyPaper-...
例如,使用`Ext.Ajax.request`方法发送HTTP请求,获取JSON格式的数据显示在GridPanel上,或者提交FormPanel的数据到服务器进行保存。 - **添加数据**: 用户填写FormPanel中的信息,点击“保存”按钮,ExtJS通过Ajax...
1. **组件化**: EXTJS允许开发者通过组合各种组件来创建复杂的UI,如GridPanel用于显示数据,FormPanel用于数据输入,Toolbar和Button提供操作选项。 2. **响应式设计**: EXTJS支持多种设备和屏幕尺寸,可以创建...
3. **样式与脚本**:CSS文件用于样式控制,JavaScript文件(可能包括Ext.js库)用于前端交互。 4. **数据库相关**:可能有SQL脚本,用于初始化或迁移数据库结构。 5. **资源文件**:如图片、图标、语言文件等。 6. *...
项目实例中,EXTJS的GridPanel可能用于显示数据列表,提供分页、排序和过滤功能。FormPanel则用于创建编辑和添加数据的表单,配合EXTJS的Field组件如TextField、ComboBox等,实现数据输入。同时,EXTJS的AjaxProxy...
- 数据表格展示:使用GridPanel显示学生列表,支持排序、过滤和分页,通过ExtJS的数据绑定机制与后台进行交互。 - 搜索功能:提供输入框,实现对学生信息的模糊搜索,使用ExtJS的Filter或QueryMode配置。 - 权限...
首先,我们来看数据模型(bean),这是Java后端与前端交互的数据实体。`Person`类代表了存储在数据库中的一个人员记录,包含了姓名(name)、年龄(age)、性别(sex)和生日(birthday)等属性。这些属性都有对应的...
对于Java开发而言,ExtJS通常与服务器端技术结合,如Spring MVC或Struts2,用于构建前后端分离的应用。Java开发者可以专注于业务逻辑和数据处理,而前端由ExtJS负责呈现和交互。在部署时,Java服务器返回JSON数据,...