Ext.onReady(function () {
gridPanel();
var panel = Ext.getCmp('gridPanel');
window.onresize = function () {
panel.setHeight(document.documentElement.clientHeight);
};
}); function gridPanel() {
var pagingBar = Ext.widget('pagingtoolbar', {
store: store,
displayInfo: true,
displayMsg: '显示 {0} - {1} ,共 {2} 记录'
});
var panel = new Ext.container.Viewport({
items: {
xtype: 'gridpanel',
id: 'gridPanel',
store: store,
height: document.documentElement.clientHeight,
columns: [
{ header: "Id", flex: 1, dataIndex: 'Id' },
{ header: "标题", width: 200, sortable: false, dataIndex: 'Title' },
{ header: "内容", width: 300, sortable: true, dataIndex: 'Contents' },
{ header: "点击数", width: 80, align: 'center', sortable: true, dataIndex: 'ClickCount' },
{ header: "发表时间", width: 110, sortable: true, dataIndex: 'CreateTime' },
{ header: "更新时间", width: 110, sortable: true, dataIndex: 'UpdateTime' }
],
loadMask: true,
disableSelection: true,
viewConfig: {
stripeRows: true
},
tbar: ['->',
{ text: '添加', icon: '../../../Images/extjs/add.png' },
{ text: '编辑', icon: '../../../Images/extjs/pencil.png' },
{ text: '删除', icon: '../../../Images/extjs/delete.png' }
],
bbar: pagingBar
}
});
} var store = Ext.create('Ext.data.Store', {
pageSize: 20,
fields: ['Id', 'Title', 'Contents', 'ClickCount', 'CreateTime', 'UpdateTime'],
remoteSort: true,
proxy: {
type: 'ajax',
url: '/Manage/ArticleData',
reader: {
type: 'json',
root: 'topics',
totalProperty: 'totalCount'
}
}
}); store.load({ params: { start: 0, limit: 20} });

  MVC:Controller action

 public ActionResult ArticleData(string start, string limit)
{
ArticleDal articleDal = new ArticleDal(_session);
var total = 0;
var data = articleDal.MyGetAll2(int.Parse(start), int.Parse(limit), ref total);
var json = Json(new { totalCount = total, topics = data }, JsonRequestBehavior.AllowGet);
return json;
}

  数据访问层:Nhibernate分页

    public IEnumerable<ArticleView> MyGetAll2(int start, int limit, ref int count)
{
try
{
var query = _session.CreateCriteria<Article>();
count = query.List<Article>().Count;
var data = query.SetFirstResult(start)
.SetMaxResults(limit)
.AddOrder(new Order("CreateTime", false))
.List<Article>();
return ArticleMapper.GetArticleView(data);
}
catch (Exception)
{
throw;
}
}

  

有问题及时和我联系:zhangwei900808@126.com

Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应的更多相关文章

  1. asp.net mvc 的几种分页Pager

    第一种 /// <summary> /// 分页Pager显示 /// </summary> /// <param name="html">&l ...

  2. Asp.Net MVC EasyUI DataGrid查询分页

    function doSearch() { //查询方法 var searchValue = $('#txtQueryTC001').textbox('getText'); $('#dgCMSTC') ...

  3. asp.net mvc 简易通用自定义Pager实现分页

    asp.net mvc 自定义Pager实现分页 Intro 一个WEB应用程序中经常会用到数据分页,本文将实现一个简单通用的分页组件,包含一个 PagerModel (用来保存页码信息),一个 Ht ...

  4. ASP.NET MVC分页实现

    ASP.NET MVC中不能使用分页控件,所以我就自己写了一个分页局部视图,配合PageInfo类,即可实现在任何页面任意位置呈现分页,由于采用的是基于POST分页方式,所以唯一的限制就是必须放在FO ...

  5. Extjs GridPanel用法详解

    Extjs GridPanel 提供了非常强大数据表格功能,在GridPanel可以展示数据列表,可以对数据列表进行选择.编辑等.在之前的Extjs MVC开发模式详解中,我们已经使用到了GridPa ...

  6. 在 ASP.NET MVC 中充分利用 WebGrid (microsoft 官方示例)

    在 ASP.NET MVC 中充分利用 WebGrid https://msdn.microsoft.com/zh-cn/magazine/hh288075.aspx Stuart Leeks 下载代 ...

  7. 11、ASP.NET MVC入门到精通——AspnetMVC分页

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 说起分页,这基本上是我们Web开发中遇见得最多的场景,没有之一,可即便如此,要做出比较优雅的分页还是需要技巧的.这里我先说一种ASP.NET ...

  8. ASP.NET MVC搭建项目后台UI框架—6、客户管理(添加、修改、查询、分页)

    目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...

  9. 让Asp.net mvc WebAPI 支持OData协议进行分页查询操作

    这是我在用Asp.net mvc WebAPI 支持 OData协议 做分页查询服务时的 个人拙笔. 代码已经开发到oschina上.有兴趣的朋友可以看看,欢迎大家指出不足之处. 看过了园子里的几篇关 ...

随机推荐

  1. 【转】十二个移动App云测试服务盘点

    随着移动设备.操作系统版本的碎片化,测试工作对于移动开发团队而言越来越成为一个沉重的包袱,不过这也带来了商机,现在市场上有不少服务和平台提供云测试工具,可以对移动App进行自动化测试,提供测试报告和优 ...

  2. 数组和ArrayList 相互转换

    Dim params(10) As DbParameter params(0) = DBHelper.CreateDbParameter("@RegName", Jz_RegInf ...

  3. JavaScript学习笔记(13)——BOM

    1.window 所有浏览器都支持window对象,它表示浏览器窗口本身. 所有 JavaScript 全局对象.函数以及变量均自动成为 window 对象的成员. 全局变量是 window 对象的属 ...

  4. [译]使用Babel和Browserify创建你的ES6项目

    原文地址:Setting up an ES6 Project Using Babel and Browserify JavaScript的发展日新月异,ES6很快就要接管JS了.很多著名的框架像Ang ...

  5. 【leetcode】12. Integer to Roman

    题目描述: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range fr ...

  6. 找个输入IPoint在某个FeatureClass上距离最近的要素

      /// <summary> /// 得到输入点在输入图层上的最近点 /// </summary> /// <param name="randomPoints ...

  7. 小黑的镇魂曲(HDU2155:贪心+dfs+奇葩解法)

    题目:点这里 题目的意思跟所谓的是英雄就下100层一个意思……在T秒内能够下到地面,就可以了(还有一个板与板之间不能超过H高). 接触这题目是在昨晚的训练赛,当时拍拍地打了个贪心+dfs,果断跟我想的 ...

  8. Nginx日志按天分割

    核心思想:使用crontab在每日23:59执行日志分割. 1.配置nginx日志信息,vim /etc/logrotate.d/nginx /var/log/nginx/*.log { nocomp ...

  9. php function 定义时函数名前加&符号的意义

    看了很多帖子,但是都不能理解,又去看了很多资料,终于名白了.记下备忘. 问题:php在声明函数时,函数名前面的&符号有什么用? 一直想不通.很多帖子说类似于变量的$a=&$b,但是$b ...

  10. php删除html标签的三种解决方法

    分享下PHP删除HTMl标签的三种方法. 方法1:直接取出想要取出的标记 <?php //取出br标记 function strip($str) { $str=str_replace(" ...