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

<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. 交互设计师谈颠覆式创新 | Think different

    作者:Teambition 交互设计师 樊伟 本文由 Teambition 原创.转载请注明出处,附原文链接 题图:by Ed Chao 我们不需要像主流市场的大公司一样做类似相扑的庞大,而是需要像柔 ...

  2. hive j简单邮件过滤

    select min(call_log), a.mail_subject from (select mail_to,mail_subject from dw_user_deviler_201408 w ...

  3. Mysql 如何做双机热备和负载均衡 (方法一)

    MySQL数据库没有增量备份的机制,但它提供了一种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中.实现MySQL数据库的热备份. 下面是具体的主从热备份的步骤:假设主服务器A(mast ...

  4. javascript笔记—面向对象

    什么是对象: 对象是一个整体,对外提供一些操作. 什么是面向对象: 使用对象时,只关注对象提供的功能,不关注其内部细节,例如jquery 面向对象是一种通用思想,并非只有编程中能用,任何事情都可以用. ...

  5. JSP三大常用对象request、response、session

    1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求, 然后做出响应.它是HttpServletRequest类的实例. 序号方法说明 objectgetA ...

  6. Class类对象的三种实例化方法

    class X { } public class GetClassDemo01 {     public static void main(String[] args) {         X x = ...

  7. FORM表单不刷新提交POST数据

    很多时候表单太多项,JQ懒的去处理了 使用这个提交吧.和她讨论出去旅游,去哪里好呢,此时还和以前一样吗? function testaction(){ var f = $("#publish ...

  8. MVC进阶之路:依赖注入(Di)和Ninject

    MVC进阶之路:依赖注入(Di)和Ninject 0X1 什么是依赖注入 依赖注入(Dependency Injection),是这样一个过程:某客户类只依赖于服务类的一个接口,而不依赖于具体服务类, ...

  9. delphi 7 下安装 indy 10.5.8 教程

    本教程用 indy 10.5.8 替换 delphi 7 自带的 indy 版本,让大家深入了解 delphi 组件安装的方法. 第一步:下载 indy 10.5.8 组件,解压到合适的目录里.如 D ...

  10. 【Delphi内联汇编学习1】Delphi与汇编

    我一直认为Delphi功能与C++相比毫不逊色,提供了丰富的控件和类.全部API以及嵌入的汇编.最近小弟在把C版的Huffman压缩改用Delphi写时,顺便“研究”了一下Delphi的位操作和嵌入式 ...