Jqgrid可以接受的数据源格式通常是local、json、string等,而我们通过MVC Controller查询数据库(Linq)通常转化为tolist(),例如:

public object Res(string Sort = null, int OrderBy = 3, int PageNumber = 0, int PageSize = 0)
{
var stu = (from p in db.Student orderby p.Age
select p).Skip((PageNumber-1) * PageSize).Take(PageSize);
return ObjectExtentions.ToJsonString(stu.ToList());
//return stu.ToList();
}

由于jqgrid需要接受json类型的,所以我们需要转化list类型为json类型

public static class ObjectExtentions
{
/// <summary>
/// 为Oject对象增加ToJsonString方法(注意对项目添加Newtonsoft.Json.dll引用)
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJsonString(this Object obj)
{
JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
return JsonConvert.SerializeObject(obj, jsSettings);
}
}

前台代码为:

$(document).ready(function () {
//ChangeTime();
$("#TB").jqGrid({
url: '../Student/Res',
datatype: 'json',
height: 160,
scrollOffset: 0,
mtype: "GET",//提交方式
rowNum: 2,
rowList: [2, 5, 10],
colNames: ["Name", "Sex","Age","Tel","Edit"],
colModel: [
{ index: "Name", name: "Name",sorttype:"text" },
{ index: "Sex", name: "Sex", sorttype: "text" },
{ index: "Age", name: "Age", sorttype: "text" },
{ index: "Tel", name: "Tel", sorttype: "text",key:true },
{ index: "Name",name:"Name", formatter: function (cellvalue, options, rowObject) { return "<center><input type='button' style='width:100px' onclick=Test(this) title='" + rowObject.Name + "' value='" + rowObject.Name + "' /></center>" } }
//{ index: "id", name: "id", formatter: function (cellvalue, options, rowObject) { return "<center><input type='button' onclick=Test(this) title='" + rowObject.Name + "' value='" + rowObject.Name + "' /></center>" } },
],
width: "865",
//caption: "Resources",
gridview: true,
loadonce:false,
cmTemplate:
{
sortable: true
},
sortname: "Age",
sortorder: "desc",
pager: "#gridPager1",
jsonReader: {
root: "rows",
page: "pageindex",
total: "pagecount",
records: "total",
id: "0"
},
prmNames: {
search: "Search",
page: 'PageNumber',
rows: 'PageSize',
sort: 'OrderBy',
order: 'Sort',
id: 'RequestID'
},
viewrecords: true,
pgbuttons: true,
loadtext:"Wait Loading",
gridComplete: function () {
//var ids = jQuery("#TB").jqGrid("getDataIDs");
//for (var i = 0; i < ids.length; i++) {
// var id = ids[i];
// modify = "<a href=\"#\" style=\"color:#f60\" onclick=\"Delete(" + id + ")\">Delete</a>";
// jQuery("#TB").jqGrid("setRowData", id, { operDel: modify });
//}
},
onSelectRow: function (rowid, status, e) {
alert(rowid);
var rowDatas = $("#TB").jqGrid('getRowData', rowid);
alert(rowDatas["Sex"]);
}
});
});

</script>
<!DOCTYPE html>

<html>
<body>
<div>
<table id="TB">
</table>
<div id="gridPager1">
</div>
</div>
</body>
</html>

MVC中Jqgrid的用法的更多相关文章

  1. Asp.Net MVC中DropDownListFor的用法(转)

    2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T  List<T>的第一个 ...

  2. Asp.Net MVC中DropDownListFor的用法

    在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...

  3. 转:Asp.Net MVC中DropDownListFor的用法

    在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...

  4. MVC中 Remote的用法

    一.web.config加入  <appSettings>    <add key="ClientValidationEnabled" value="t ...

  5. Spring mvc中@RequestMapping 基本用法

    @RequestMapping(value="/departments") public String simplePattern(){ System.out.println(&q ...

  6. ASP.NET MVC中多种ActionResult用法总结

    最近一段时间做了个ASP.NET MVC4.0的项目,项目马上就要结束了,今天忙里偷闲简单总结一下心得: 1. 如果Action需要有返回值的话,必须是ActionResult的话,可以返回一个Emp ...

  7. MVC中Cookie的用法(二)---CookieHelper

    public class CookieHelper { /// <summary> /// 1.1添加Cookie /// </summary> /// <param n ...

  8. MVC中Cookie的用法(一)

    1创建Cookie 1.1直接创建 Response.Cookies["Account"].Value = "test1"; Response.Cookies[ ...

  9. Asp.Net MVC中使用ACE模板之Jqgrid

    第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间. 发现虽然不是完美,整体效果还是不 ...

随机推荐

  1. XGrid绑定(转)

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Fo ...

  2. Nutch搜索引擎系列

    下面是Nutch搜索系列目录,希望对研究Nutch的同学有所帮助. 目录安排: 1)Nutch搜索引擎(第1期)_ Nutch简介及安装[下载] 2)Nutch搜索引擎(第2期)_ Solr简介及安装 ...

  3. List排序忽略大小写

    public List<String> sortListIgnoreCase(List<String> list) {        Collections.sort(list ...

  4. cdoj 15 Kastenlauf dfs

    Kastenlauf Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/3 De ...

  5. 在Android应用中实现Google搜索的例子

    有一个很简单的方法在你的 Android 应用中实现 Google 搜索.在这个例子中,我们将接受用户的输入作为搜索词,我们将使用到 Intent.ACTION_WEB_SEARCH . Google ...

  6. dsPIC33EP 高速PWM模块初始化设置及应用

    //文件 p33pwm6.h #ifndef _P33PWM6_H_ #define _P33PWM6_H_ //#include "p33pwm6.h" #define FSYN ...

  7. 【安卓特效】怎样给ImageView加上遮罩,点击时泛黑、或泛白、?

    基本思路: 方法1.遮罩可直接叠加一层带alpha的纯白.或纯黑View,可直接在ImageView外套一层FrameLayout,其foreground(一般同学可能仅仅知道background,事 ...

  8. 总结下cocopods的安装

    一:CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库 ...

  9. cocos2d-x 2.2 移植wp8遇到的坑

    这两天正在将之前的一款cocos2d游戏,移植到wp平台上,这里记录一下所遇到的问题以及解决方法. 我是用的cocos2d下面的例子程序进行修改的. 遇到的第一个问题是资源路径的问题,当时我把解决方案 ...

  10. 文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别

    这两天在调优数据库性能的过程中需要降低操作系统文件Cache对数据库性能的影响,故调研了一些降低文件系统缓存大小的方法,其中一种是通过修改/proc/sys/vm/dirty_background_r ...