java extjs4 分页_(高分请教)extjs与java结合后进行页面分页问题

展开全部

想做分e69da5e887aa62616964757a686964616f31333238643733页必须要与后台进行交互.给你一个我写的程序前台页面:

module_js =function() {

var ds, cm, gridHead, gridFoot, paging, grid;

var countPerPage=12; //每页显示几条

var mod_module_win,mod_id_temp;

return {

init : function(){

//设置布局

var border = new Ext.Panel({

title: '布局',

layout:'border',

items: [{

title: '北部面板',

region: 'north',

height: 100,

minSize: 75,

maxSize: 250//,

//margins: '0 5 5 5'

},{

title: '模块列表',

region:'center'//,

// margins: '5 5 0 0'

}]

});

//显示模块列表

ds = new Ext.data.Store({ //定义数据集合

proxy: new Ext.data.HttpProxy({url:'sysFunction.do?method=selectModule'}), //读取列表的方法,id是传进来的

reader: new Ext.data.JsonReader({ //读取方式

totalProperty: 'totalProperty', //后台返回的总记录数,要与后台字段对应

root: 'jsondata' //后台返回的结果

}, [

{name: 'functionId'},

{name: 'showName'},

{name: 'functionName'},

{name: 'linkUrl'}

])

});

ds.on('beforeload',beforeload);

function beforeload(myds,options){

var conditaion = {parentId:'-1',level:1,functionName:document.getElementById('functionName').value,showName:document.getElementById('showName').value,showOrder:document.getElementById('showOrder').value,linkUrl:document.getElementById('linkUrl').value,hrefTarget:document.getElementById('hrefTarget').value,showInMenu:document.getElementById('showInMenu').value};

options=options||{};

options.params = options.params||{};

options.params.conditaion = Ext.util.JSON.encode(conditaion);

return true;

}

ds.load({params:{start:0,limit:countPerPage}}); //加载数据

cm = new Ext.grid.ColumnModel([ //定义列

new Ext.grid.RowNumberer(), //行号

{header:'ID',dataIndex:'functionId',width: 40,sortable: true},

{header:'模块名',dataIndex:'functionName',width: 120,sortable: true},

{header:'显示名',dataIndex:'showName',width: 130,sortable: true},

{header:'URL',dataIndex:'linkUrl',width: 260,sortable: true}

]);

var pagingBar = new Ext.PagingToolbar({ //分页按钮

pageSize: countPerPage,

store: ds,

displayInfo: true,

displayMsg: '第 {0} 条 - 第 {1} 条 共 {2} 条',

emptyMsg: "没有数据",

items:[

'-', {

pressed: true,

enableToggle:true,

text: '删 除 模 块',

cls: 'x-btn-text-icon details',

toggleHandler: confirmDelModule

}]

});

grid = new Ext.grid.GridPanel({ //开始构建列表

el: 'module_grid', //所使用的div

ds: ds, //数据集合

cm: cm, //列定义

height: 340, //该列表的高和宽

width: 590,

bbar: pagingBar

});

grid.render(); //开始生成列表

grid.on('rowdblclick',function(grid,rowIndex,e){

var mod_id=ds.getAt(rowIndex).data['functionId'];

//var mod_id=ds.getAt(rowIndex).functionId;

mod_id_temp = mod_id;

openModPage(mod_id);

});

function openModPage(mod_id){

if(typeof(mod_id)=="undefined"||mod_id==null){

Ext.Msg.alert("提示信息","请选择您要修改的一行");

return false;

}

document.getElementById('mod_module').style.display="";

var handle = function (opts, success, response) {

if(success){

var data = eval("("+response.responseText+")");

if(data.result){

var nav = new Ext.Panel({

items:[{

id:'mod_module_id',

width:600,

height:300,

contentEl:'mod_module'

}]

});

if(!mod_module_win||mod_module_win!=null){

mod_module_win = new Ext.Window({

width: 600,

height: 300,

closeAction:'hide',

minimizable: false,

title: '修改模块',

items:[nav],

keys: [{ key: 27,

fn: function(){mod_module_win.hide();} }]});

mod_module_win.on('minimize', function(){

mod_module_win.toggleCollapse();});

mod_module_win.show();

}

mod_module_win.show(this);

document.getElementById('mod_functionName').value = data.functionName;

document.getElementById('mod_showName').value = data.showName;

document.getElementById('mod_showOrder').value = data.showOrder;

document.getElementById('mod_linkUrl').value = data.linkUrl;

document.getElementById('mod_hrefTarget').value = data.hrefTarget;

document.getElementById('mod_showInMenu').value = data.showInMenu;

mod_id_temp = data.functionId;

}else{

Ext.Msg.alert("提示信息",data.message);

}

}else{

Ext.Msg.alert("提示信息","ajax请求没能正常完成");

}

};

var url = 'sysFunction.do?method=toModModule';

var params = {data:Ext.util.JSON.encode({mod_id:mod_id,time_stamp:(new Date()).getTime()})};

var connection = new Ext.data.Connection();

connection.request({url:url,method:'POST',params:params,callback:handle});

}

function confirmDelModule()

{

var rows=grid.getSelectionModel().getSelections();

if(typeof(rows)=="undefined"||rows===null||rows==""){

Ext.Msg.alert("提示信息","请选择要删除的模块");

return false;

}

var del_ids="";

for(var i=0;i

{

del_ids=del_ids+rows[i].get("functionId")+',';

}

var handle = function (opts, success, response) {

if(success){

var data = eval("("+response.responseText+")");

if(data.result){

if(data.count>0){

Ext.Msg.alert("提示信息","该模块下面还有"+data.count+"个菜单?请先删除其子菜单后再删除该模块?!");

return false;

}else{

Ext.MessageBox.confirm('删除提示', '确定删除该模块吗?', delModule);

}

}else{

Ext.Msg.alert("提示信息",data.message);

}

}else{

Ext.Msg.alert("提示信息","ajax请求没能正常完成");

}

};

var url = 'sysFunction.do?method=preDelModule';

var params = {data:Ext.util.JSON.encode({del_ids:del_ids,time_stamp:(new Date()).getTime()})};

var connection = new Ext.data.Connection();

connection.request({url:url,method:'POST',params:params,callback:handle});

}

function delModule(btn)

{

if(btn=="yes"){

var rows=grid.getSelectionModel().getSelections();

if(typeof(rows)=="undefined"||rows===null||rows==""){

Ext.Msg.alert("提示信息","请选择要删除的模块");

return false;

}

var del_ids="";

for(var i=0;i

{

del_ids=del_ids+rows[i].get("functionId")+',';

}

var handle = function (opts, success, response) {

if(success){

var data = eval("("+response.responseText+")");

if(data.result){

ds.reload();

Ext.Msg.alert("提示信息","删除成功");

}else{

Ext.Msg.alert("提示信息",data.message);

}

}else{

Ext.Msg.alert("提示信息","ajax请求没能正常完成");

}

};

var url = 'sysFunction.do?method=delModule';

var params = {data:Ext.util.JSON.encode({del_ids:del_ids,time_stamp:(new Date()).getTime()})};

var connection = new Ext.data.Connection();

connection.request({url:url,method:'POST',params:params,callback:handle});

}

}

},closeModModuleWin:function()

{

mod_module_win.hide();

},modModule:function()

{

var functionName = document.getElementById('mod_functionName').value;

var showName = document.getElementById('mod_showName').value;

var showOrder = document.getElementById('mod_showOrder').value;

var linkUrl = document.getElementById('mod_linkUrl').value;

var hrefTarget = document.getElementById('mod_hrefTarget').value;

var showInmenu = document.getElementById('mod_showInMenu').value;

var handle = function (opts, success, response) {

if(success){

var data = eval("("+response.responseText+")");

if(data.result){

module_js.closeModModuleWin();

ds.reload();

Ext.Msg.alert("提示信息","修改成功");

}else{

Ext.Msg.alert("提示信息",data.message);

}

}else{

Ext.Msg.alert("提示信息","ajax请求没能正常完成");

}

};

var url = 'sysFunction.do?method=modModule';

var params = {data:Ext.util.JSON.encode({mod_id:mod_id_temp,functionName:functionName,showName:showName,showOrder:showOrder,showInmenu:showInmenu,linkUrl:linkUrl,hrefTarget:hrefTarget,time_stamp:(new Date()).getTime()})};

var connection = new Ext.data.Connection();

connection.request({url:url,method:'POST',params:params,callback:handle});

},selectModule:function()

{

ds.load({params:{start:0,limit:countPerPage}});

}

};

}();

Ext.EventManager.onDocumentReady(module_js.init, module_js, true);

查询模块

模块名(英文):

模块显示名:

显示次序:

链接路径(没有不填):

所在窗口(没有不填):

是否在菜单中显示:

所有

显示

不显示

备注(没有不填):

修改模块

模块名(英文):

模块显示名:

显示次序:

链接路径(没有不填):

所在窗口(没有不填):

是否在菜单中显示:

显示

不显示

备注(没有不填):

你参考下,把例子往下接着做,看着是有点长,不过不要紧,你先把教程的例子看完,然后你再看就知道需要提炼什么了,我这个jsp涵盖了很多东西,你做其他什么的时候也许也会用到的.

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值