zoukankan      html  css  js  c++  java
  • Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应

    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: "标题",  200, sortable: false, dataIndex: 'Title' },
                { header: "内容",  300, sortable: true, dataIndex: 'Contents' },
                { header: "点击数",  80, align: 'center', sortable: true, dataIndex: 'ClickCount' },
                { header: "发表时间",  110, sortable: true, dataIndex: 'CreateTime' },
                { header: "更新时间",  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

  • 相关阅读:
    CF819B Mister B and PR Shifts
    HDU5969 最大的位或
    UVA1464 Traffic Real Time Query System
    [SCOI2010]连续攻击游戏
    [USACO11JAN] Roads and Planes
    [POJ3613] Cow Relays(Floyd+矩阵快速幂)
    洛谷P3237 [HNOI2014]米特运输(树形dp)
    awk 正则表达式、正则运算符详细介绍
    awk单行脚本快速参考
    Project Euler 44: Find the smallest pair of pentagonal numbers whose sum and difference is pentagonal.
  • 原文地址:https://www.cnblogs.com/zhangwei595806165/p/3584538.html
Copyright © 2011-2022 走看看