MVC中Jqgrid的用法
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的用法的更多相关文章
- Asp.Net MVC中DropDownListFor的用法(转)
2016.03.04 扩展:如果 view中传入的是List<T>类型 怎么使用 DropList 既然是List<T> 那么我转化成 T List<T>的第一个 ...
- Asp.Net MVC中DropDownListFor的用法
在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...
- 转:Asp.Net MVC中DropDownListFor的用法
在Asp.Net MVC中可以用DropDownListFor的方式来让用户选择已定列表中的一个数值.用法不复杂,这里简单做一个记录. 首先我们要定义一个 Model ,用户在 DropDownLis ...
- MVC中 Remote的用法
一.web.config加入 <appSettings> <add key="ClientValidationEnabled" value="t ...
- Spring mvc中@RequestMapping 基本用法
@RequestMapping(value="/departments") public String simplePattern(){ System.out.println(&q ...
- ASP.NET MVC中多种ActionResult用法总结
最近一段时间做了个ASP.NET MVC4.0的项目,项目马上就要结束了,今天忙里偷闲简单总结一下心得: 1. 如果Action需要有返回值的话,必须是ActionResult的话,可以返回一个Emp ...
- MVC中Cookie的用法(二)---CookieHelper
public class CookieHelper { /// <summary> /// 1.1添加Cookie /// </summary> /// <param n ...
- MVC中Cookie的用法(一)
1创建Cookie 1.1直接创建 Response.Cookies["Account"].Value = "test1"; Response.Cookies[ ...
- Asp.Net MVC中使用ACE模板之Jqgrid
第一次看到ACE模板,有种感动,有种相见恨晚的感觉,于是迅速来研究.它本身是基于bootstrap和jqueryui,但更nice,整合之后为后台开发节省了大量时间. 发现虽然不是完美,整体效果还是不 ...
随机推荐
- gdb简单调试~core文件
1.打开终端,进入项目目录,输入ulimit -a ,可以看core文件大小设置(第一行),若为0, 则没有打开core dump设置. 2.ulimit -c unlimited ,core文件大小 ...
- :app:transformResourcesWithMergeJavaResForDebug FAILED
资源xml有错误,应该排查每一处xml. 如果提示gradle相关错误,需要修改系统级的build.gradle和程序级的build.gradle,比如后者不能缺少:dependencies { ...
- PL/pgSQL RETURNS TABLE 例子
实验如下: RETURNS TABLE 中的变量名和SQL文中的变量名同名时,执行时会出错: pgsql=# create table sales(itemno integer,quantity in ...
- 【JavsScript】JavaScript MVC 框架技术选型
你很喜欢Gmail和Trello之类的单页面应用,但是不太确定该从何开始.也许你的JavaScript代码是如此的杂乱无章,以致于你很想在下一个项目上尝试下JavaScript MVC库和框架,却苦于 ...
- KFC数据测试hbase结果
两个field,一个是KFC数据 一个列放的内容是“same” 每条数据都flush SLF4J: Failed to load class "org.slf4j.impl.Static ...
- close和shutdown函数的区别
close函数首先是将传入的socket句柄引用数减1(因为fork进程时会导致socket句柄被多个进程引用),待到引用数等于0的时候,close才会真正关闭连接. shutdown函数是立刻关闭连 ...
- Android精品课程—PullToRefresh 下拉刷新
http://edu.csdn.net/course/detail/1716 TableLayout http://edu.csdn.net/course/detail/2262 Android开发之 ...
- Feister network
在密码学中,Feister network(又叫Feister Function, 一下简称 F函数)是一种用在块加密上的对称结构,很多种块加密算法都是使用这种结构. 优点: 1.加解密的过程非常相似 ...
- mysql loop if
MYSQL: loop if ITERATE: 跳出此次循环,直接进入到下一次循环中 LEAVE: 结束循环,跳出整个循环. demo如下: CREATE TABLE t( v INT NOT ...
- 你应该知道的基础 Git 命令
我们在早先一篇文章中已经快速介绍过 Vi 速查表了.在这篇文章里,我们将会介绍开始使用 Git 时所需要的基础命令. Git Git 是一个分布式版本控制系统,它被用在大量开源项目中.它是在 2005 ...