时间仓促,代码写的乱,莫怪,着影区不用理会(功能之外)

<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Jquery-Easy-UI/jquery.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Jquery-Easy-UI/jquery.easyui.min.js")" type="text/javascript"></script>
    <link href= "@Url.Content("/Jquery-Easy-UI/themes/icon.css")" rel="stylesheet" />
    <link href="@Url.Content("../../Jquery-Easy-UI/themes/black/easyui.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Jquery-Easy-UI/locale/easyui-lang-zh_CN.js")" type="text/javascript"></script>

前台代码如下:

<script type="text/javascript">
    $(function ()
    {
        $("#dg").datagrid(
            {
                toolbar:
                [
                    {
                        text: 'Add',
                        iconCls: 'icon-add',
                        handler: function ()
                        {
                            $.messager.alert("Action", "Add");

                        }
                    }, '-',
                    {
                        text: 'Edit',
                        iconCls: 'icon-edit',
                        handler: function ()
                        {
                            $.messager.alert("Action", "Edit");
                        }
                    }, '-',
                    {
                        text: 'Search',
                        iconCls: 'icon-search',
                        handler: function ()
                        {
                            $.messager.alert("Action", "Search");
                        }
                    }, '-',
                    {
                        text: 'Help',
                        iconCls: 'icon-help',
                        handler: function ()
                        {
                            $.messager.alert("Action", "Help");
                        }
                    }],

                onSelectPage: function (pageNumber, pageSize)
                {
                    $(this).pagination('loading');
                    alert('pageNumber:' + pageNumber + ',pageSize:' + pageSize);
                    $(this).pagination('loaded');
                },
                url: "/Home/QueryStudents",
                pagination: true,
                rownumbers: true,
                loadMsg: '数据加载中请稍后……',
                //fit: true,
                fitColumns: true,
                width: 900,
                height: 430,
                pageNumber: 1,
                pageSize: 12,
                pageList: [12, 18, 24, 32, 40],
                columns:
                [[{ title: "编号", field: "AutoKey", align: 'center' },
                    { title: "姓名", field: "Name", align: 'center' },
                    { title: "性别", field: "Sex", align: 'center' },
                    { title: "学校", field: "School", align: 'center' },
                    { title: "年龄", field: "Age", align: 'center' },
                    { title: "学科", field: "Major", align: 'center' },
                    { title: "邮箱", field: "Email", align: 'center' },
                    { title: "省份", field: "Province", align: 'center' },
                    { title: "市", field: "City", align: 'center'}]]
            }
        );
    });

    function show()
    {
        var province = $("#pro").val();
        var sex = $("#sex").val();
        $("#dg").datagrid({
            queryParams: {
                pro: province,
                sex: sex
            }
        });
    }
</script>
<div id="dg">
</div>
省:<input type="text" id="pro" />
性别:<input type="text" id="sex" />
<a onclick="show()" href="#" class="easyui-linkbutton">查询</a> 

后台代码如下

  public JsonResult QueryStudents()
        {

            string pro = Request["pro"];
            string sex = Request["sex"];
            int rows = Convert.ToInt32(Request["rows"]);
            int page = Convert.ToInt32(Request["page"]);

            List<SqlParameter> parameters = new List<SqlParameter>();
            parameters.Add(new SqlParameter("@cureentPage", page));
            parameters.Add(new SqlParameter("@pageSize", rows));

            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append(@" WITH students AS (SELECT *,  ROW_NUMBER() OVER (order by AutoKey) as RowNumber FROM Student where 1=1 ");
            if (pro != null && pro != "")
            {
                stringBuilder.Append(" and Province=@province");
                parameters.Add(new SqlParameter("@province", pro));
            }
            if (sex != null && sex != "")
            {
                stringBuilder.Append(" and Sex=@sex");
                parameters.Add(new SqlParameter("@sex", sex));
            }
            stringBuilder.Append(" )  ");

            stringBuilder.Append(@"SELECT * FROM students
                                        WHERE RowNumber between @cureentPage*@pageSize-@pageSize+1 and @cureentPage*@pageSize");
            string sql = stringBuilder.ToString();
            List<Student> stus = SelectMethod.SelectStudent(sql, parameters);

            int total;
            using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=BBS;uid=sa;pwd=sa"))
            {
                conn.Open();
                List<SqlParameter> param=new List<SqlParameter>();

                StringBuilder sb = new StringBuilder();

                sb.Append("select count(*) from Student where 1=1");
                if (pro != null && pro != "")
                {
                    sb.Append(" and Province=@province");
                    param.Add(new SqlParameter("@province", pro));
                }
                if (sex != null && sex != "")
                {
                    sb.Append(" and Sex=@sex");
                    param.Add(new SqlParameter("@sex", sex));
                }
                string selectedCountsql = sb.ToString();
                using (SqlCommand sqlcmd = new SqlCommand(selectedCountsql, conn))
                {
                    if (param!=null)
                    {
                        foreach (SqlParameter sp in param)
                        {
                            sqlcmd.Parameters.Add(sp);
                        }
                    }
                    total = Convert.ToInt32(sqlcmd.ExecuteScalar());
                }
            }

            return Json(new { total = total, rows = stus }, "text/html", Encoding.UTF8,
                JsonRequestBehavior.AllowGet);

        }

  

对应表如下:

MVC-Easy-UI-datagrid-分页-查询的更多相关文章

  1. JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单

    JQuery Easy Ui dataGrid 数据表格 数据表格 - DataGrid 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值.. 数 ...

  2. Jquery Easy UI Datagrid 上下移动批量保存数据

    DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...

  3. spring mvc +easy ui +Mybatis 录入数据

    1.itemsEasyui.jsp 应用到的插件及知识点:日期控件My97 ,图片本地预览函数PreviewImage() (1)easy ui 的模态窗口使用时,要指定DIV的属性 data-opt ...

  4. easy ui datagrid 增,删,改,查等基本操作

    如下图: ①列表信息图 ②添加信息图 ③修改信息图 html代码: <%@ Page Title="" Language="C#" MasterPageF ...

  5. ASP.MVC EASY UI 入门之 —— Tree & ComboTree

    1.常规的EASY UI的tree和comboTree代码基本是官方的DEMO都有的,虽然很简单,但是还是要实践的做一次,才能更清晰的了解和使用它!先上效果图 因为用的是code first,所以数据 ...

  6. 玩转Web之easyui(一)-----easy ui datagird 分页

    easy ui 中数据表格的分页其实是很简单的,分页是在数据表格可以正常显示数据的基础上进行的,在这里给出servlet的代码,其中selectAll()方法是从数据库中提取所有数据, 分页的一种思路 ...

  7. Easy UI DataGrid 与 分页

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs& ...

  8. easy ui datagrid 数据分页

    参照easyui官方网站提供的demo写了个datagrid数据分页的demo, 具体参数我就不一一罗列了,详细见官方网站, 这里只介绍一下具体的注意事项和常乃用到的几项, $('#test').da ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...

  10. JQuery Easy Ui dataGrid 数据表格

    数据表格 - DataGrid 英文文档:http://www.jeasyui.com/documentation/index.php# 继承$.fn.panel.defaults,使用$.fn.da ...

随机推荐

  1. ceph 块设备

    数据的存储设备? 数据的存储有3种形式,1种是直接以二进制数据的形式存储在裸设备(包括块设备)上,另外一种是以文件的形式经过文件系统管理进行存储.第三种就是以对象的形式进行对象存储.本篇讨论围绕着块设 ...

  2. md笔记——使用 @font-face 引入你喜欢的字体

    使用 @font-face 引入你喜欢的字体 原理 CSS3的自定义字体@font-face 规则的工作原理 使用@font-face规则初看起来非常简单.从本质上看,它只需要两个步骤. 首先,使用 ...

  3. linux vim taglist config

    "vim config .vimrc "taglist map <silent> <F10> :TlistToggle let tlist_php_sett ...

  4. Oracle游标使用详解

    转自:http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html 声明游标:CURSOR cursor_name IS select_st ...

  5. java实现cmd的copy功能

    import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...

  6. Ubuntu 14.04 上使用 Nginx 部署 Laravel

    本教程将会涉及以下工具: Ubuntu 14.04 LTS PHP 5.5 MySQL Laravel 5.0 Nginx 参考文章:Ubuntu 14.04 上使用 Nginx 部署 Laravel ...

  7. 安卓里面JSON处理和JAVA SE里面的JSON包

    今天编译安卓项目遇到这个问题 com.android.dex.DexException: Multiple dex files define的解决办法 大致意思就是引用了 相同的包 在JAVA SE里 ...

  8. hdu 1806 Frequent values 线段树

    题目链接 给一个非递减数列, n个数, m个询问, 每个询问给出区间[L, R], 求这个区间里面出现次数最多的数的次数. 非递减数列, 这是最关键的一个条件... 需要保存一个区间最左边的数, 最右 ...

  9. 在实体对象中访问导航属性里的属性值出现异常“There is already an open DataReader associated with this Command which must be closed first”

    在实体对象中访问导航属性里的属性值出现异常“There is already an open DataReader associated with this Command which must be ...

  10. Delphi2010新发现-类的构造和析构函数功能

    Delphi2010发布了. 虽然凭着对Delphi的热爱第一时间就安装了,但是现在可能是年纪大了,对新事物缺乏兴趣了.一直都没有仔细研究. 今天有点时间试了一下新功能. 本来C#和Delphi.NE ...