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

<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. sqlite学习笔记4:表的创建和删除

    前面做了那么多不就是为了数据弄几张表么.接下来看看怎么新建表. 一 新建表 基本的语法例如以下: CREATE TABLE database_name.table_name( column1 data ...

  2. xcode KVC:Key Value Coding 键值编码

    赋值 // 能修改私有成员变量 - (void)setValue:(id)value forKey:(NSString *)key; - (void)setValue:(id)value forKey ...

  3. 重构HTML改善web应用设计

    本文从良构,有效性,布局三个角度,结合往日项目开发经历, 整理总结重构HTML改善Web应用设计的几点规则和做法.部分参考自<重构HTML改善Web应用设计>. 重构.什么是重构?为什么要 ...

  4. SQL 2008升级SQL 2008 R2完全教程或者10.00.4000升级10.50.1600

    今天将由于需要就将我的SQL 2008升级到SQL 2008 R2. 说到为什么要升级是因为,从另一台机器上备份了一个数据库,到我的机器上还原的时候提示“System.Data.SqlClient.S ...

  5. OOX 面向对象X

    OOA - Object-Oriented Analysis(面向对象分析) OOT - Object-Oriented Testing (面向对象测试) OOP - Object-Oriented ...

  6. 安装爬虫scrapy

    使用easy_install安装scrapy,报错 error: Setup script exited with error: command 'gcc' failed with exit stat ...

  7. pyhon MySQLdb查询出来的数据设置为字典类型

    import MySQLdbimport MySQLdb.cursors cxn=MySQLdb.Connect(host='localhost',user='root',passwd='1234', ...

  8. symfony2 关于是否需要建立多bundle

    http://blog.danielribeiro.org/yes-you-can-have-low-coupling-in-a-symfony-standard-edition-applicatio ...

  9. CFBundleName系列参数的含义

    顺带讲一下其他这些选项表示什么意思: CFBundleName: CFBundleName指定了该束的简称.简称应该小于16个字符并且适合在菜单和“关于”中显示.通过把它加入到适当的.lproj子文件 ...

  10. 快速学习使用 Windows Azure 上的 SharePoint Server 2013

     为了在当今的企业环境中占据一席之地,您需要能够迅速顺应变化和应对挑战.有时,需要及时调整您的SharePoint 基础结构以保持竞争优势. 基础结构即服务可通过随时使用.即付即用的解决方案应对这 ...