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. 编译cscope-15.8a遇到的问题与解决方案

    1)环境 主机:Linux ubuntu 3.2.0-32-generic-pae #51-Ubuntu SMP Wed Sep 26 21:54:23 UTC 2012 i686 i686 i386 ...

  2. state与status的区别

    status 指人时暗指相对的地位,指物时相当于 situation.situation 较狭义地指由环境综合决定的特定时间上的状态或情形. state 人或物存在或所处的状态,和 condition ...

  3. NFS错误Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno=Connection refused

    NFS报错一例 [root@bjs0- ~]# /etc/init.d/portreserve start Starting portreserve:                          ...

  4. rails 调试

    1. ruby-debug, ruby-debug19 没人维护,bug多.Ruby 1.9.3后不推荐使用 2. debugger ruby 1.9.3后的选择,功能强大,缺点是没有语法高亮. 项目 ...

  5. document.createElement("A");

    搞了一天,终于把A里面的属性弄出来 代码1: <BODY></BODY><SCRIPT LANGUAGE="JavaScript"><!- ...

  6. 分布式存储系统sheepdog

    Sheepdog,是由NTT的3名日本研究员开发的开源项目,主要用来为虚拟机提供块设备. 其架构例如以下: 以下,我们将从架构.模块等几个方面来介绍下: 一.架构图 如上图: 採用无中心节点的全对称架 ...

  7. Oracle中删除重复的经典方案

    DELETE FROM Personnel WHERE ROWID < (SELECT MAX(P1.ROWID) FROM Personnel AS P1 WHERE P1.dup_id = ...

  8. purge

    RR级别 mysql V5.6 debug ; 测试1 会话1: mysql)); Query OK, rows affected (0.04 sec) mysql,"a"); Q ...

  9. 算法设计 - LCS 最长公共子序列&&最长公共子串 &&LIS 最长递增子序列

    出处 http://segmentfault.com/blog/exploring/ 本章讲解:1. LCS(最长公共子序列)O(n^2)的时间复杂度,O(n^2)的空间复杂度:2. 与之类似但不同的 ...

  10. LeetCode25 Reverse Nodes in k-Group

    题意: Given a linked list, reverse the nodes of a linked list k at a time and return its modified list ...