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. CriminalIntent程序中Fragment相关内容

    Activity中托管UI fragment有两种方式: 添加fragment到acitivity中 在activity代码中添加fragment 第一种方法即将fragment添加到acitivit ...

  2. hdu4291之矩阵快速幂

    A Short problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. 更改SQL数据库的繁体数据为简体

    上一篇说到,公司需要把所有的系统逐步更改为简体,一些系统可以保持原先的繁体数据,而有一些系统应使用部门的要求,必须要更改为简体,由于程序很大,报表也多,修改程序转换显示的可能性不大,故所以打算把数据库 ...

  4. How to get cocoapods work on Yosemite

    查看原文:http://leancodingnow.com/how-to-get-cocoapods-work-on-yosemite/ 今天升级了Mac OS X 10.10-Yosemite以后运 ...

  5. iOS的WebView中使用javascript调用原生的api

    1. 首先在javascript中加入相关代码 $('.content .saveCode').on('touchstart', function () {//touchstart if (temp ...

  6. Codeforces Round #338 (Div. 2) E. Hexagons 讨论讨论

    E. Hexagons 题目连接: http://codeforces.com/contest/615/problem/E Description Ayrat is looking for the p ...

  7. Linux文件时间属性

    Linux文件时间属性                                                                                         ...

  8. 保持长宽比 对背景图像进行修改android:scaleType="fitXY"

    关于android中ImageView的外观,即图片在其内显示出的样子,与布局文件中adjustViewBonds和scaleType属性的关系.我进行了一些探索.现跟大家共享,欢迎各位指教.分别将a ...

  9. iOS开发——开发必备OC篇&UITableView设置界面完整封装(三)

    UITableView设置界面完整封装(三) 简单MVC实现UITableView设置界面之界面跳转 创建一个需要调整的对应的控制器 在需要调整的类型模型中创建对应的属性用来实现调整类型控制器的设置 ...

  10. UVA 1484 - Alice and Bob&#39;s Trip(树形DP)

    题目链接:1484 - Alice and Bob's Trip 题意:BOB和ALICE这对狗男女在一颗树上走,BOB先走,BOB要尽量使得总路径权和大,ALICE要小,可是有个条件,就是路径权值总 ...