Ext.grid.Panel表格分页存储过程
本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址
https://www.baiydu.com
/*首先需要引入两个Extjs插件类 Ext.ux.data.PagingMemoryProxy和Ext.ux.ProgressBarPager这两个类*/ /*下面是控制弹出窗体放大缩小时窗体居中的方法*/
1 var HotalOrderResizeCenterWindow;
Ext.EventManager.onWindowResize(function() {
if (HotalOrderResizeCenterWindow) {
HotalOrderResizeCenterWindow.setHeight(480);
HotalOrderResizeCenterWindow.setWidth(1225);
HotalOrderResizeCenterWindow.center()
}
}); /*下面这个方法是根据加载STORE值时,控制某字段样式的*/
function changeIsOrNoReturnRoom(val) {
if (val == '未退房') {
return '<span style="color:black;">' + val + '</span>'
} else if (val == "已退房") {
return '<span style="color:red;">' + val + '</span>'
}
return val
} /*store的实体类*/
Ext.define('RoomOrder', {
extend: 'Ext.data.Model',
idProperty: 'roomorder',
fields: [{
name: 'orderId'
}, {
name: 'orderForAdmin'
}, {
name: 'orderCustomerName'
}, {
name: 'orderCustomerIDcard'
}, {
name: 'orderCustomerPhone'
}, {
name: 'orderRoomNumber'
}, {
name: 'orderRoomPrice',
type: 'float'
}, {
name: 'orderCashPledge',
type: 'float'
}, {
name: 'orderOpenRoomTime'
}, {
name: 'orderRuleReturnRoomTime'
}, {
name: 'orderCheckInDayCount'
}, {
name: 'orderIsOrNoReturnRoom'
}, {
name: 'orderReturnRoomTime'
}]
}); /*gride的store*/
var store = Ext.create('Ext.data.Store', {
model: 'RoomOrder',
pageSize: 3,/*这个参数就是每页加载数据的条数,这个参数都会在你POST或GET时,自动加为参数*/
autoLoad: true,
proxy: {
type: 'ajax',
url: 'shareMediumPage.ashx',
reader: {
root: 'data',
/*totalProperty这个字段很重要是符合查询条件的所有数据的总条数,虽然
查询时只需要查询出需要的部分,但是返回的数据中必须加上这个总数量字段,这个字段原本在你数据库的表中肯定是没有,需要你反回数据时自加上,后面数据库部分有说明*/
totalProperty: 'allCount'
},
extraParams: {
sign: '12',
loadSign: '0'
}
},
remoteSort: true,
listeners: {
beforeload: function() {}
}
});
/*gride的tabbar*/
var orderContronllerBar = Ext.create("Ext.Toolbar", {
items: ['', "-",
{
xtype: "splitbutton",
text: '未退房',
menu: true,
handler: function() {
alert("liaohang")
},
}, '', "-",
{
xtype: "splitbutton",
text: '已退房',
handler: function() {
alert("liaohang")
}
}, "关键字:",
{
xtype: 'textfield',
id: 'searchBar'
}, {
xtype: 'button',
text: "搜索",
handler: function() {
alert("al;ksdfjaljdsfljfas") store.load({
params: {
keyword: Ext.getCmp("searchBar").getValue()
}
})
}
}]
}); /*grid类*/
Ext.define('HotalOrderWindowContentPanelClass', {
extend: 'Ext.grid.Panel',
xtype: 'OrderPanelXtype',
id: "orderListGridPanel",
title: '订单',
store: store,
columns: [new Ext.grid.RowNumberer({
text: "序号",
width: 40,
dataIndex: function(value, metadata, record, rowIndex) {
return 1 + rowIndex
}
}),
{
id: 'orderCustomerName',
text: '姓名',
sortable: true,
dataIndex: 'orderCustomerName',
width: 75
}, {
text: '身份证号',
sortable: true,
dataIndex: 'orderCustomerIDcard',
width: 175
}, {
text: '电话',
sortable: true,
dataIndex: 'orderCustomerPhone',
width: 120
}, {
text: '房号',
sortable: true,
dataIndex: 'orderRoomNumber',
width: 100
}, {
text: '价格',
sortable: true,
renderer: Ext.util.Format.usMoney,
dataIndex: 'orderRoomPrice',
width: 100
}, {
text: '押金',
sortable: true,
renderer: Ext.util.Format.usMoney,
dataIndex: 'orderCashPledge',
width: 100
}, {
text: '入住时间',
sortable: true,
dataIndex: 'orderOpenRoomTime',
width: 125
}, {
text: '必须退房时间',
sortable: true,
dataIndex: 'orderRuleReturnRoomTime',
width: 125
}, {
text: '入住天数',
sortable: true,
dataIndex: 'orderCheckInDayCount',
width: 75
}, {
text: '是否退房',
sortable: true,
renderer: changeIsOrNoReturnRoom,
dataIndex: 'orderIsOrNoReturnRoom',
width: 75
}, {
text: '退房时间',
sortable: true,
dataIndex: 'orderReturnRoomTime',
width: 134
}],
stripeRows: true,
tbar: orderContronllerBar,
height: 450,
width: 1210,
frame: true,
bbar: Ext.create('Ext.PagingToolbar', {
store: store,
displayInfo: true,
plugins: Ext.create('Ext.ux.ProgressBarPager', {})
})
}) /*主窗体*/
Ext.define("HotalOrderWindowClass", {
extend: "Ext.window.Window",
requests: [],
id: 'HotalOrderManagerWindow',
xtype: 'HotalOrderManagerXtype',
title: "订单管理",
height: 480,
width: 1225,
autoRender: true,
region: 'center',
autoScroll: false,
closable: true,
border: 0,
plain: true,
layout: 'border',
closeAction: 'hide',
draggable: true,
floating: true,
items: [{
xtype: 'OrderPanelXtype',
title: '',
frame: true,
}],
listeners: {
'show': function(e) {},
'beforeshow': function(o) {
HotalOrderResizeCenterWindow = o
},
'destroy': function(o) {
HotalOrderResizeCenterWindow = null
}
}
})
/*Post页面代码 shareMediumPage.ashx*/
public void ProcessRequest(HttpContext context)
{
HttpResponse res = context.Response;
shareMediumPage master = new shareMediumPage();
HttpRequest req = context.Request;
JavaScriptSerializer jss = new JavaScriptSerializer();
int sgin =Convert.ToInt32( req["sign"]);
string adminName = "adsfasaf";
int sPage = Convert.ToInt32(req["page"]);//extjs自加的参数
int sStart = Convert.ToInt32(req["start"]);//extjs自加的参数
int sLimit = Convert.ToInt32(req["limit"]);//extjs自加的参数
//由于我们是在存储过程中处理的,所以三个参数中我们只需要两个 sPage, sLimit string currentDatetime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
currentDatetime = Convert.ToDateTime(currentDatetime).Ticks.ToString();
res.Write(OptionLoadOrder(req["loadSign"].ToString(), adminName, currentDatetime, sPage, sLimit));
res.ContentType = "text/plain";
res.End(); }
public String OptionLoadOrder(string loadSign, string adminName, string currentDatetime, int pageIndex, int pageSize)
{ shareParameter = new SqlParameter[] { new SqlParameter("@loadSign", loadSign), new SqlParameter("@adminName", adminName), new SqlParameter("@currentDatetime", currentDatetime)
, new SqlParameter("@PageIndex", pageIndex), new SqlParameter("@PageSize", pageSize)};
SqlDataReader reader = SqlHelper.SqlHelper.ExecuteReader(SqlHelper.SqlHelper.connecString, "proc_AccodingPassTypeLoadOrder", shareParameter); ORDERLIST list = new ORDERLIST();
List<orderClass> data = new List<orderClass>(); while (reader.Read())
{
list.allCount=Convert.ToInt32(reader["allCount"]);
orderClass order = new orderClass();
order.orderId = reader["orderId"].ToString();
order.orderForAdmin = reader["orderForAdmin"].ToString(); order.orderCustomerName = reader["orderCustomerName"].ToString();
order.orderCustomerIDcard = reader["orderCustomerIDcard"].ToString();
order.orderCustomerPhone = reader["orderCustomerPhone"].ToString();
order.orderRoomNumber = reader["orderRoomNumber"].ToString();
order.orderRoomPrice = reader["orderRoomPrice"].ToString();
order.orderCashPledge = reader["orderCashPledge"].ToString();
order.orderOpenRoomTime = reader["orderOpenRoomTime"].ToString();
order.orderRuleReturnRoomTime = reader["orderRuleReturnRoomTime"].ToString();
order.orderCheckInDayCount = reader["orderCheckInDayCount"].ToString();
order.orderIsOrNoReturnRoom = reader["orderIsOrNoReturnRoom"].ToString();
order.orderReturnRoomTime = reader["orderReturnRoomTime"].ToString();
data.Add(order);
} list.data = data;
return jss.Serialize(list);
}
/*数据库存储过程*/
create proc [dbo].[proc_AccodingPassTypeLoadOrder] @loadSign varchar(50),
@adminName varchar(50),
@currentDatetime varchar(50),
@PageIndex int, /*第几页*/
@PageSize int /*每页的行数*/
as
declare @BeginRow int
declare @EndRow int set @BeginRow=@PageSize*(@PageIndex-1)+1; /*获得分页第一行所在位置*/
set @EndRow=@PageSize*@PageIndex;/*获得分页最后一行所在位置*/
declare @allCount int/*这个参数就是存放符合条件的所有数据总数量,然后加入返回数据中作为一个字段*/
if(@loadSign=0) --加载所有
begin
select @allCount=COUNT(*) from hotalOrderSheet where orderForAdmin=@adminName
select * from (select ROW_NUMBER() over(order by(orderId)) as RowIndex,@allCount as allCount, * from hotalOrderSheet where orderForAdmin=@adminName) as a
where RowIndex between @BeginRow and @EndRow
--select * from hotalOrderSheet end
else if(@loadSign=1)--未退房
begin
select @allCount=COUNT(*) from hotalOrderSheet where orderForAdmin=@adminName and orderIsOrNoReturnRoom is null and orderReturnRoomTime is null
select * from (select ROW_NUMBER() over(order by(orderId)) as RowIndex,@allCount as allCount,* from hotalOrderSheet where orderForAdmin=@adminName and orderIsOrNoReturnRoom is null and orderReturnRoomTime is null) as a
where RowIndex between @BeginRow and @EndRow end
else if(@loadSign=2)--已退房
begin select @allCount=COUNT(*) from hotalOrderSheet where orderForAdmin=@adminName and orderIsOrNoReturnRoom is not null and orderReturnRoomTime is not null
select * from (select ROW_NUMBER() over(order by(orderId)) as RowIndex,@allCount as allCount,* from hotalOrderSheet where orderForAdmin=@adminName and orderIsOrNoReturnRoom is not null and orderReturnRoomTime is not null) as a
where RowIndex between @BeginRow and @EndRow end
else if(@loadSign=3)--超时退房用户
begin select @allCount=COUNT(*) from dbo.getOverTimeReturnCustomerList(@adminName,@currentDatetime)
select * from (select ROW_NUMBER() over(order by(orderId)) as RowIndex, @allCount as allCount, * from dbo.getOverTimeReturnCustomerList(@adminName,@currentDatetime)) as a
where RowIndex between @BeginRow and @EndRow
end
下面是效果图
本人创业做的一款androidApp, 下载量已经有2000多万,各种当前热门的网络手机奖励红包全部集成,另外还有热门电影和淘宝高额优惠券!很适合各类型的用户。
Ext.grid.Panel表格分页存储过程的更多相关文章
- Ext.grid.Panel表格分页
转载:http://www.cnblogs.com/libingql/archive/2012/04/22/2464994.html cshtml @{ Layout = null; } <!D ...
- ExtJs 学习之开篇(三)Ext.grid.Panel表格中的处理
Ext.grid.Panel Ext.create('Ext.grid.Panel',{ title:'测试表格', width:400, height:20 ...
- 【extjs】 ext5 Ext.grid.Panel 分页,搜索
带有分页,搜索的grid. <%@page language="java" contentType="text/html; charset=UTF-8" ...
- [Extjs] Ext4 Ext.grid.Panel 分页实现(mybatis 分页插件-PageHelper 使用)
先看图: 页面js代码: var userStore=Ext.create('Ext.data.Store', { storeId:'userStore', fields:['uname', 'ema ...
- 完善ext.grid.panel中的查询功能(紧接上一篇)
今天的代码主要是实现,Ext.grid.panel中的查询,其实我也是一名extjs新手,开始想的实现方式是另外再创建一个新的grid类来存放查询出的数据(就是有几个分类查询就创建几个grid类),这 ...
- 【extjs】 extjs5 Ext.grid.Panel 搜索示例
先看效果图: 页面js: <script type="text/javascript"> /** * 日志类型 store * */ var logTypeStore ...
- Ext.grid.Panel 数据动态改变后刷新grid
gridPanel中加载的数据分为两种:一种是本地数据加载,那另一种就是后台数据加载. 在表格中增.删.改.查 是必不可少的. 那么数据动态改变后怎样刷新表格中的数据呢. 一.后台取数据 var gr ...
- 导出Ext.grid.Panel到excel
1.客户端定义,基本的想法是form提交表格头定义,数据,以json方式传输 Ext.grid.Panel.addMembers({ exportExcel:function(options){ if ...
- ext grid 子表格
Ext.define('app.view.main.biz.customer.receipt.followup.FollowUpActionPanel', { extend: 'Ext.grid.Pa ...
随机推荐
- Kafka入门初探+伪集群部署
Kafka是目前非常流行的消息队列中间件,常用于做普通的消息队列.网站的活性数据分析(PV.流量.点击量等).日志的搜集(对接大数据存储引擎做离线分析). 全部内容来自网络,可信度有待考证!如有问题, ...
- 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
基于Oracle的SQL优化(社区万众期待数据库优化扛鼎巨著) 崔华 编 ISBN 978-7-121-21758-6 2014年1月出版 定价:128.00元 856页 16开 编辑推荐 本土O ...
- 每天一个linux命令(50):crontab命令
前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...
- 利用@property实现可控的属性操作
利用@property实现可控的属性操作 Python中没有访问控制符, 不像java之类的 public class Person{ private int x public int getAge( ...
- 使用jasperreports-5.6.0.jar导致的问题
使用jasperreports-5.6.0.jar导致的问题 Struts2+jasperReport5.6如下设置: <!-- 社员档案 --> <package name=&qu ...
- 截取js数组中某段值(slice)
// var a = [1,2,3]; // console.log(a.slice(1)); >>[2, 3] 从索引1开始截取. // console.log(a.slice(1,2) ...
- Ext.util.TaskRunner定时执行任务
Ext.util.TaskRunner能够提供多线程的定时任务,该类提供了对多线程任务的管理,可以通过Ext.TaskManager来创建Ext.util.TaskRunner的一个实例,也可以自行创 ...
- Geometry Curve of OpenCascade BRep
Geometry Curve of OpenCascade BRep eryar@163.com 摘要Abstract:几何曲线是参数表示的曲线 ,在边界表示中其数据存在于BRep_TEdge中,BR ...
- uva 10801 - Lift Hopping(最短路Dijkstra)
/* 题目大意: 就是一幢大厦中有0-99的楼层, 然后有1-5个电梯!每个电梯有一定的上升或下降速度和楼层的停止的位置! 问从第0层楼到第k层最少经过多长时间到达! 思路:明显的Dijkstra , ...
- PHP的学习--PHP的引用
引用是什么 在 PHP 中引用意味着用不同的名字访问同一个变量内容.这并不像 C 的指针,替代的是,引用是符号表别名.注意在 PHP 中,变量名和变量内容是不一样的,因此同样的内容可以有不同的名字.最 ...