2024年2月3日发(作者:)
Ext结合Dwr带分组分页的GridPanel
主要包含:浏览页(),脚步文件(),dwr分页代理脚本文件(),实体类(),实体管理类(),分页类(),dwr自带(),ext自带(,,)
显示结果:
页面
<%@ page language="java" import=".*" pageEncoding="UTF-8"%>
<%
String path = textPath();
String basePath =
eme()+"://"+verName()+":"+verPort()+path+"/";
%>
文件
y(function() {
var start = 0;
var pageSize = 10;
var sm = new oxSelectionModel();
var cm = new Model([new berer(), sm, {
header : '编号',
dataIndex : 'id1',
sortable : true
}, {
header : '名称',
sortable : true,
dataIndex : 'name1'
}, {
header : '描述',
sortable : true,
dataIndex : 'descn1',
renderer : function(v) {
return "" + v + ""
}
}]);
var recordType = new ([{
name : 'id1',
mapping : 'id',
type : 'int'
}, {
name : 'name1',
mapping : 'name',
type : 'string'
}, {
name : 'descn1',
mapping : 'descn',
type : 'string'
}]);
var proxy = new xy(ers, true);
var ds = new ngStore({
proxy : proxy,
reader : new ngeReader({
id : 'id',
totalProperty : 'totalSize'
}, recordType),
remoteSort : true,
sortInfo : {
field : 'id',
direction : "ASC"
},
groupField : 'name1' // 默认的分组字段
});
({
});
params : {
start : start,
limit : pageSize
},
arg : [],
callback : function(records, options, success) {
('提示', '加载数据成功!');
}
var grid = new nel({
title : 'GridPanel分页',
store : ds,
sm : sm,
cm : cm,
autoWidth : true,
height : 300,
view : new ngView({
sortAscText : '正序排列',
sortDescText : '倒序排列',
columnsText : '列显示/隐藏',
groupByText : '根据本列分组',
showGroupsText : '是否采用分组显示',
groupTextTpl : '{text}( color=red>{[]}
"Item"]})'
}),
bbar : new Toolbar({
pageSize : 10,
store : ds,
displayInfo : true,
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : "没有记录",
prevText : "上一页",
nextText : "下一页",
refreshText : "刷新",
lastText : "最后页",
firstText : "第一页",
beforePageText : "当前页",
afterPageText : "共{0}页"
})
});
var win = new ({
title : 'Ext结合Dwr',
frame : true,
height : 350,
width : 500,
plain : true, // 与外面颜色相配
closeAction : 'hide',
layout : 'form',
labelWidth : 65,
defaultType : 'textfield',
items : grid
});
();
});
ListRange类:
import izable;
public class ListRange implements Serializable {
private static final long serialVersionUID = 1L;
private Object[] data;
private int totalSize;
public Object[] getData() {
return data;
}
public void setData(Object[] data) {
= data;
}
public int getTotalSize() {
return totalSize;
}
public void setTotalSize(int totalSize) {
ize = totalSize;
}
}
File实体类:
public class File {
private int id;
private String name;
private String descn;
public File(int id, String name, String descn) {
= id;
= name;
= descn;
}
public int getId() {
}
return id;
}
public void setId(int id) {
= id;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public String getDescn() {
return descn;
}
public void setDescn(String descn) {
= descn;
}
FileManager类:
public class FileManager {
public ListRange getPapers(int start, int count, String orderBy) {
/*n("start=" + start + ";count=" + count +" " + orderBy);*/
ListRange listRange = new ListRange();
Object[] root = new Object[10];
if(start < 8){
Object[] data = {
new File(1,"name1","descn1"),
new File(2,"name2","descn2"),
new File(3,"name3","descn3"),
new File(4,"name4","descn4"),
new File(5, "name5", "descn5") ,
new File(6,"name1","descn1"),
new File(7,"name2","descn2"),
new File(8,"name3","descn3"),
new File(9,"name4","descn4"),
new File(10, "name5", "descn5")
};
root = data;
}
}
}else if(start >9 && start < 20){
Object[] data = {
new File(11,"name1","descn1"),
new File(21,"name2","descn2"),
new File(31,"name3","descn3"),
new File(41,"name4","descn4"),
new File(51, "name5", "descn5") ,
new File(61,"name1","descn1"),
new File(71,"name2","descn2"),
new File(81,"name3","descn3"),
new File(91,"name4","descn4"),
new File(101, "name5", "descn5")
};
root = data;
}else{
Object[] data = {
new File(12,"name1","descn1"),
new File(22,"name2","descn2"),
new File(32,"name3","descn3"),
new File(42,"name4","descn4"),
new File(52, "name5", "descn5") ,
new File(62,"name1","descn1"),
new File(72,"name2","descn2"),
new File(82,"name3","descn3"),
new File(92,"name4","descn4"),
new File(102, "name5", "descn5")
};
root = data;
}
a(root);
alSize(30);
return listRange;
文件:
xy = function(dwrCall, pagingAndSort){
(this);
l = dwrCall;
AndSort = (pagingAndSort!=undefined ? pagingAndSort : true);
};
(xy, oxy, {
load : function(params, reader, callback, scope, arg) {
if(ent("beforeload", this, params) !== false) {
var sort;
if( && ) sort = + ' ' + ;
else sort = '';
var delegate = Delegate(this, [reader, callback, scope,
arg], 1);
var callParams = new Array();
if() {
callParams = ();
}
if(AndSort) {
();
();
(sort);
}
(delegate);
(this, callParams);
} else {
(scope || this, null, arg, false);
}
},
loadResponse : function(listRange, reader, callback, scope, arg) {
var result;
try {
result = (listRange);
} catch(e) {
ent("loadexception", this, null, response, e);
(scope, null, arg, false);
return;
}
(scope, result, arg, true);
},
update : function(dataSet){},
updateResponse : function(dataSet)
{}
});
ngeReader = function(meta, recordType){
(this, meta, recordType);
Type = recordType;
};
(ngeReader, ader, {
getJsonAccessor: function(){
var re = /[[.]/;
return function(expr) {
try {
return((expr))
? new Function("obj", "return obj." + expr)
: function(obj){
return obj[expr];
};
} catch(e){}
return n;
};
}(),
read : function(o){
var recordType = Type, fields = ;
//Generate extraction functions for the totalProperty, the root, the id, and for
each field
if (!) {
if(roperty) {
al = nAccessor(roperty);
}
if(sProperty) {
cess = nAccessor(sProperty);
}
if () {
var g = nAccessor();
= function(rec) {
var r = g(rec);
return (r === undefined || r === "") ? null : r;
};
} else {
= function(){return null;};
}
= [];
for(var i = 0; i < ; i++){
f = [i];
var map = (g !== undefined && g !== null) ?
g : ;
[i] = nAccessor(map);
}
}
var records = [];
var root = , c = , totalRecords = c, success = true;
if(roperty){
var v = parseInt(al(o), 10);
if(!isNaN(v)){
totalRecords = v;
}
}
if(sProperty){
var v = cess(o);
if(v === false || v === 'false'){
success = false;
}
}
for(var i = 0; i < c; i++){
var n = root[i];
var values = {};
var id = (n);
for(var j = 0; j < ; j++){
f = [j];
var v = [j](n);
values[] = t((v !== undefined) ? v : tValue);
}
var record = new recordType(values, id);
records[i] = record;
}
return {
success : success,
records : records,
totalRecords : totalRecords
};
}
});
文件:
xmlns="/xml/ns/javaee" xmlns:xsi="/2001/XMLSchema-instance" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_">
文件:


发布评论