easyui 通用的datagrid中如何带有查询条件分页
html 代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><title> </title>
<script type="text/javascript" language="javascript" src="../Scripts/My97DatePicker/WdatePicker.js"></script>
<link rel="stylesheet" type="text/css" href="../Scripts/jquery-easyui-1.3.2/themes/default/easyui.css" /><link rel="stylesheet" type="text/css" href="../Scripts/jquery-easyui-1.3.2/themes/icon.css" />
<script type="text/javascript" src="../Scripts/jquery-easyui-1.3.2/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="../Scripts/jquery-easyui-1.3.2/jquery.easyui.min.js"></script>
<link rel="stylesheet" type="text/css" href="../Resource/Css/base.css" />
</head>
<body>
<form method="post" action="orders.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTExNjk2ODg0NDRkZCOLvqGWle7VDdkjq2dhN5yAxw6yEAPsgqeeG/+Wi49/" />
</div> <div class="aspNetHidden"> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBALt0qRkApehh7YHAq/J98ULAvDVkOYC1D/zVz5bLUZLledrbR3qxiF16rmEfvZBJPE413rxsnU=" />
</div> <script type="text/javascript">
$(function () {
$('#dataList').datagrid({
title: '订单查询',
iconCls: 'icon-save',
width: 2000,
height: window.screen.height * 0.8,
fit: false,
nowrap: false,
striped: true,
url: '../jsonData/orders.ashx',
sortName: 'ids',
sortOrder: 'ids',
remoteSort: false,
idField: 'ids',
frozenColumns: [[
{ field: 'ck', checkbox: true },
{ title: '订单号', field: 'order_no', width: 100, sortable: true },
{ title: '订单状态', field: 'order_status', width: 80, sortable: true } ]],
columns: [[ { title: '产品总额', field: 'product_total_cost', width: 60, sortable: true },
{title: '订单备注', field: 'remark', width: 100, sortable: true } ]],
onHeaderContextMenu: function (e, field) {
e.preventDefault();
if (!$('#tmenu').length) {
createColumnMenu();
}
$('#tmenu').menu('show', {
left: e.pageX,
top: e.pageY
});
},
pagination: true,
rownumbers: true,
toolbar: [{
id: 'btnadd',
text: '添加',
iconCls: 'icon-add',
handler: function () {
$('#btnsave').linkbutton('enable');
alert('add')
}
}, {
id: 'btncut',
text: '删除',
iconCls: 'icon-cut',
handler: function () {
$('#btnsave').linkbutton('enable');
alert('cut')
}
}, '-', {
id: 'btnsave',
text: '保存',
disabled: true,
iconCls: 'icon-save',
handler: function () {
$('#btnsave').linkbutton('disable');
alert('save')
}
}]
});
var p = $('#dataList').datagrid('getPager');
if (p) {
$(p).pagination({
pageSize: 10, //每页显示的记录条数,默认为10
pageList: [5, 10, 15], //可以设置每页记录条数的列表
beforePageText: '第', //页数文本框前显示的汉字
afterPageText: '页 共 {pages} 页',
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
onBeforeRefresh: function (pageNumber, pageSize) {
alert('pageNumber:' + pageNumber + ',pageSize:' + pageSize);
alert('before refresh');
}
});
} }); function createColumnMenu() {
var tmenu = $('<div id="tmenu" style="width:100px;"></div>').appendTo('body');
var fields = $('#dataList').datagrid('getColumnFields');
for (var i = 0; i < fields.length; i++) {
$('<div iconCls="icon-ok"/>').html(fields[i]).appendTo(tmenu);
}
tmenu.menu({
onClick: function (item) {
if (item.iconCls == 'icon-ok') {
$('#dataList').datagrid('hideColumn', item.text);
tmenu.menu('setIcon', {
target: item.target,
iconCls: 'icon-empty'
});
} else {
$('#dataList').datagrid('showColumn', item.text);
tmenu.menu('setIcon', {
target: item.target,
iconCls: 'icon-ok'
});
}
}
});
} function resize() {
$('#dataList').datagrid('resize', {
width: 700,
height: 400
});
}
function showDate(val) {
if (val != null) {
val = val.replace("\/Date(", "");
val = val.replace(")/", "");
dt = new Date(Number(val));
return dt.toLocaleString();
} else {
return "";
}
}
function getProduct(val) {
var start = val.indexOf("产品属性");
if (start > 8) {
start = start - 8;
}
return val.substr(start);
} function FindData() {
$('#dataList').datagrid('load', {
order_no: $('#order_no').val()
}
);
} </script>
<div id="searchtool" style="padding: 5px">
<span>订单号:</span><input name="ctl00$ContentPlaceHolder1$order_no" type="text" id="order_no" />
<a href="javascript:FindData()" class="easyui-linkbutton" data-options="iconCls:'icon-search'">
查询</a>
</div>
<table id="dataList">
</table> </form>
</body>
</html>
后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text;
using ySmtHelper.Common;
using System.Data.Linq;
using System.Web.Script.Serialization; namespace ySmtHelper.jsonData
{
/// <summary>
/// Summary description for orders
/// </summary>
public class orders : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
int page = 0;
if (context.Request.QueryString["page"] != null)
{
page = Convert.ToInt32(context.Request.QueryString["page"].ToString());
}
if (context.Request.Form["page"] != null)
{
page =Convert.ToInt32( context.Request.Form["page"].ToString());
}
int rows = 0;
if (context.Request.QueryString["rows"] != null)
{
rows =Convert.ToInt32( context.Request.QueryString["rows"].ToString());
}
if (context.Request.Form["rows"] != null)
{
rows = Convert.ToInt32(context.Request.Form["rows"].ToString());
}
context.Response.ContentType = "text/plain";
//tb_order entry = new tb_order();
//entry.buyer_name = "buyer_name";
//entry.order_no = "order_no";
//entry.order_time = DateTime.Now;
JavaScriptSerializer serializer = new JavaScriptSerializer();
//序列化
//string json = serializer.Serialize(entry);
//反序列化
//tb_order tb_order = serializer.Deserialize<tb_order>(json);
// context.Response.Write(json);
context.Response.Write(BindGrid( context, page, rows));
} public string BindGrid(HttpContext context,int pageIndex, int pageSize)
{
if (pageIndex < 1)
{
pageIndex = 1;
}
int totalcount = 0;
string out_s = ""; using (SmtDataContext db = new SmtDataContext())
{
using (var writer = File.AppendText(Log.getLogFile()))
{
db.Log = writer;
var loadOptions = new DataLoadOptions();
db.LoadOptions = loadOptions;
string orderby = "order_no"; var q_count = from c in db.tb_orders select c; if (context.Request.Form["order_no"] != null && context.Request.Form["order_no"].Length>0)
{
q_count = q_count.Where(p => p.order_no.Contains(context.Request.Form["order_no"].ToString()));
} totalcount = q_count.Count();
//Skip(100)代表跳过100行后.从第101行开始分页;
//take(10)表示多少行分页;
// 第一种 var aClass = q_count.OrderBy(p => GetPropertyValue(p, orderBy.SelectedValue.Trim())).Skip((pageIndex - 1) * pageSize).Take(pageSize);
// 第2种
var aClass = LinqOrderBy.OrderByDescending(q_count, orderby).Skip((pageIndex - 1) * pageSize).Take(pageSize);
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(aClass);
//easyui 格式 { "total":239, "rows":[ {"code":"010","name":"Name 10"} ]}
StringBuilder sb = new StringBuilder();
sb.Append("{ \"total\":" + totalcount + ", \"rows\":" + json + "}");
out_s = sb.ToString();
writer.Close();
}
}
return out_s;
} public bool IsReusable
{
get
{
return false;
}
}
}
}
easyui 通用的datagrid中如何带有查询条件分页的更多相关文章
- MVC+Bootstrap+Drapper使用PagedList.Mvc支持多查询条件分页
前几天做一个小小小项目,使用了MVC+Bootstrap,以前做分页都是异步加载Mvc部分视图的方式,因为这个是小项目,就随便一点.一般的列表页面,少不了有查询条件,下面分享下Drapper+Page ...
- easyui combobox 在datagrid中动态加载数据
场景:datagrid 中用编辑框修改数据,有一个列使用的combobox 在可编辑的时候需要动态绑定数据,这个数据是在根据其他条件可变的 思路:在每次开启编辑框的时候动态绑定数据, datagri ...
- mongodb中比较级查询条件:($lt $lte $gt $gte)(大于、小于)、查找条件
查询表中学生年级大于20,如下: db.getCollection('student').find({'age':{'$gt':'20'}}) $lt < (less than ) ...
- (原)强类型dataset(类型化dataset)中动态修改查询条件(不确定参数查询)
原创博客,转载请注明:http://www.cnblogs.com/albert1017/p/3361932.html 查询时有多个参数,参数个数由客户输入决定,不能确定有多少个参数,按一般的方法每种 ...
- Mybatis-plus在原有的select查询语句中动态追加查询条件
一.适用场景 1.使用了xml形式的mapper.2.不想在select查询中大量使用<if>标签来判断条件是否存在而加入条件. 二.步骤 1.自定义wrapper继承QueryWrapp ...
- 关键字中mysql数据库查询条件带中文无结果解决办法
package keyword; import java.io.UnsupportedEncodingException; import java.sql.Connection; import jav ...
- thinkphp分页效果的制作,按查询条件分页正确做法
PHP代码: <?php namespace Home\Controller; use Think\Controller; use Home\Clas\Cate; class IndexCont ...
- 【spring data jpa】带有条件的查询后分页和不带条件查询后分页实现
一.不带有动态条件的查询 分页的实现 实例代码: controller:返回的是Page<>对象 @Controller @RequestMapping(value = "/eg ...
- [翻译]在ASP.NET Web API中通过OData支持查询和分页
OData可以通过形如http://localhost/Products?$orderby=Name这样的QueryString传递查询条件.排序等.你可以在任何Web API Controller中 ...
随机推荐
- 破解Kaleidoscope-2.1.0-134,无限试用
找到超时时间计算的地方,有非常多处,大概几十外,大约类似下面的代码,作者应该是copy了非常多份反复的代码, 10000C592 F2 0F 10 8D 40 FE FF FF ...
- JVM截至多少线程可以创建: unable to create new native thread
最近的测试需要很长的连接server.这些数据需要达到100W长连接,试client.一个线程来保持连接.查找linuxserver创建者默认3200当多个线程.这个错误将得到"java.l ...
- jQuery按回车键执行指定方法
1.按Enter键执行指定方法: //按回车进入页面 $(function(){ $(document).keydown(function(event){ if (event.keyCode == 1 ...
- python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...
- C#-利用ZPL语言完毕条形码的生成和打印
近期由于公司项目的须要,研究了一项对我来说算是新的技术-条形码的生成和打印.由于之前没有接触过这方面的知识,所以刚開始还有点小迷茫和小兴奋,只是一步一步来,问题总会解决的.如今来总结一下做条形码 ...
- OpenSUSE 13.2使用VPN(PPTP)
新年开始,有时查询个资料或是下个软件包并不是那么愉快,决定使用付费VPN,他们使用的是用户名及密码的验证方式 在网上找到了一个教程,挺详尽的,如果想按照步骤能使用即可的原则,跟着我一起设置,想了解更多 ...
- Spring IOC之容器扩展点
一般来说,一个应用开发者不需要继承ApplicationContext实现类.取而代之的是,Spring IoC容器可以通过插入特殊的整合接口的实现来进行扩展.下面的几点将要讲述这些整合的接口. 1. ...
- 在linux中如何调试C语言程序
在Linux下面可以使用下面几种形式对C语言进行调试: 1 gdb gdb program 这是最原始的调试方法,若非熟悉命令行,这种方式其实是比较麿人的.有兴趣的可以参考一些我之前的博文.http: ...
- Text Justification 实现两端对齐功能
实现office word中的两端对齐功能. 只有个单词时,右边补齐空格.最后一行每个词间一个空格,整下的空格右边补齐.给定字符串,和每行的字符数L.进行两端对齐输出. 我的思路是写一个函数,给定相应 ...
- 完整的堆栈JavaScript路(十五)HTML5 focus 扩大 (扩展点)
HTML5 加入辅助管理 focus 产品特点, 有办法获得焦点文档; 页面加载,用户输入(通常由tab债券).和 调用代码focus()功能. HTML5新的属性和方法,辅助管理的重点: docu ...