JqGrid 自定义子表格 及 自定义Json 格式数据不展示
项目第一次使用JqGrid ,发现功能强大,但由于对他不熟悉,也没有少走弯路,记录一下。
1、引用
<link href="~/Scripts/JqGrid/jqgrid/css/ui.jqgrid.css" rel="stylesheet" />
<link href="~/Scripts/JqGrid/jqgrid/css/css/start/jquery-ui-1.8.20.custom.css" rel="stylesheet" />
<script src="~/Scripts/JqGrid/jqgrid/js/jquery.jqGrid.min.js"></script>
<script src="~/Scripts/JqGrid/jqgrid/js/jquery.jqGrid.src.js"></script>
<script type="text/javascript" src="/Scripts/JqGrid/jqgrid/js/i18n/grid.locale-cn.js"></script>
2、页面
<script>
$(function () {
//页面加载完成之后执行
pageInit();
});
function pageInit() {
//创建jqGrid组件
$("#list2").jqGrid(
{
url: '/ZhuTiFenXi/JSONData',//组件创建完成之后请求数据的url
datatype: "json",//请求数据返回的类型。可选json,xml,txt
colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],//jqGrid的列显示名字
colModel: [ //jqGrid每一列的配置信息。包括名字,索引,宽度,对齐方式.....
{ name: 'id', index: 'id', width: 90,key:true }, //key:true 是设置主键,也就是下面的row_id的值
{ name: 'invdate', index: 'invdate', width: },
{ name: 'name', index: 'name asc, invdate', width: },
{ name: 'amount', index: 'amount', width: , align: "right" },
{ name: 'tax', index: 'tax', width: , align: "right" },
{ name: 'total', index: 'total', width: , align: "right" },
{ name: 'note', index: 'note', width: , sortable: false }
],
rowNum: ,//一页显示多少条
rowList: [, , ],//可供用户选择一页显示多少条
pager: '#pager2',//表格页脚的占位符(一般是div)的id
sortname: 'id',//初始化的时候排序的字段
sortorder: "desc",//排序方式,可选desc,asc
mtype: "post",//向后台请求数据的ajax的类型。可选post,get
viewrecords: true,
width: 998,
height: 650, //可以自己设置宽高
jsonReader: { repeatitems: false}, // 大坑在这里,这个属性没有写,chrome 中正常显示,IE和firefox中死都不出来,在网上搜索了很久才发现,oh shit !
//caption: "JSON Example",//表格的标题名字
subGrid: true, //设置是否显示加号
subGridRowExpanded: function (subgrid_id, row_id) { //subGridRowExpanded可以自定义表格类型, subgrid_id 是主表格的Id,row_id 是你选中的行的Id
$.ajax({
url: '/ZhuTiFenXi/JSONData',
data: {},
success: function (data) {
$("#" + subgrid_id).html("<table><tr><td>分页数:</td><td>" + data.page + "</td></tr></table>");
$("#" + subgrid_id).append("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><table><tr><td>分页数:</td><td>" + data.page + "</td></tr></table>");
$("#" + subgrid_id).append("<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><table><tr><td>分页数:</td><td>" + data.page + "</td></tr></table>");
},
error: function (err) {
alert("err=" + data);
}
});
}
//, caption: "Subgrid Example" }).trigger("reloadGrid");
/*创建jqGrid的操作按钮容器*/
/*可以控制界面上增删改查的按钮是否显示*/
jQuery("#list2").jqGrid('navGrid', '#pager2', { edit: false, add: false, del: false ,refresh:false,search:false}); //这两个属性控制左下角查询和刷新的
}
</script>
//查询触发函数,查询的时候讲值从新带到jqGrid中
function SerachData() {
var userName = $("#userName").val();
var cardId = $("#cardId").val();// if (userName == "" && cardId=="") {
alert("请添加查询条件,在操作");
return;
} $.ajax({
type: "POST",
url: '/ZhuTiFenXi/JsonPersonInfoList',
dataType: 'json',
data: { 'userName': userName, 'cardId': cardId },
error: function (XMLHttpRequest, textStatus, errorThrown) { },
success: function (data) {
if (data) {
var mygrid = $('#list2')[];//必须要加,这个是个集合 就跟dataset一样
var myjsongrid = data;
mygrid.addJSONData(myjsongrid);
}
}
});
}
3、 后台数据
public ActionResult JSONData()
{ List<LS_CLASS> lis = new List<LS_CLASS>();
LS_CLASS entity=new LS_CLASS();
entity.id="";
entity.invdate = "2007-10-06";
entity.name = "Client3";
entity.amount = "1000.00";
entity.tax = "0.00";
entity.total = "1000.00";
entity.note = "";
lis.Add(entity); LS_CLASS entity1=new LS_CLASS();
entity1.id="";
entity1.invdate = "2007-10-06";
entity1.name = "Client3";
entity1.amount = "1100.00";
entity1.tax = "1.00";
entity1.total = "2000.00";
entity1.note = "";
lis.Add(entity1); LS_CLASS entity2 = new LS_CLASS();
entity2.id = "";
entity2.invdate = "2007-10-06";
entity2.name = "Client3";
entity2.amount = "1100.00";
entity2.tax = "1.00";
entity2.total = "2000.00";
entity2.note = "";
lis.Add(entity2); LS_CLASS entity3 = new LS_CLASS();
entity3.id = "";
entity3.invdate = "2007-10-06";
entity3.name = "Client3";
entity3.amount = "1100.00";
entity3.tax = "1.00";
entity3.total = "2000.00";
entity3.note = "";
lis.Add(entity3); var a = new { page = , total = , records = , rows = lis, userdata = new { amount = , tax = , total = , name = "", Totals = "" } };
return Json(a,JsonRequestBehavior.AllowGet);
} //单独一个类
public class LS_CLASS
{
public string id { get; set; }
public string invdate { get; set; }
public string name { get; set; }
public string amount { get; set; }
public string tax { get; set; }
public string total { get; set; }
public string note { get; set; }
}
4、效果

JqGrid 自定义子表格 及 自定义Json 格式数据不展示的更多相关文章
- jqgrid嵌套子表格
jqgrid的subGrid子表格 jqGrid的一项高级功能就是嵌套子表格,使用起来也非常简单.使用的方式有两种: 使用普通的subGrid子表格: 使用一个完整jqGrid作为子表格: 1.选项含 ...
- springmvc4.0配置ajax请求json格式数据
1.导入相关jar包:jackson-annotation-2.5.4.jar,jackson-core-2.5.4.jar,jackson-databind-2.5.4.jar. 2.spring- ...
- JSON格式数据
1. 基础知识 1. 什么是JSON格式? JSON格式是现在网站数据交互的标准数据格式,写入标准. 取代原来的XML:符合JS原生语法,可以被直接解析,不需要额外的解析文件. 书写简单,一目了然 2 ...
- 四:Spring Security 登录使用 JSON 格式数据
Spring Security 登录使用 JSON 格式数据 1.基本登录方案 1.1 创建 Spring Boot 工程 1.2 添加 Security 配置 2.使用JSON登录 江南一点雨-Sp ...
- ios网络学习------6 json格式数据的请求处理
ios网络学习------6 json格式数据的请求处理 分类: IOS2014-06-30 20:33 471人阅读 评论(3) 收藏 举报 #import "MainViewContro ...
- 使用基于Android网络通信的OkHttp库实现Get和Post方式简单操作服务器JSON格式数据
目录 前言 1 Get方式和Post方式接口说明 2 OkHttp库简单介绍及环境配置 3 具体实现 前言 本文具体实现思路和大部分代码参考自<第一行代码>第2版,作者:郭霖:但是文中讲 ...
- iOS开发之JSON格式数据的生成与解析
本文将从四个方面对IOS开发中JSON格式数据的生成与解析进行讲解: 一.JSON是什么? 二.我们为什么要用JSON格式的数据? 三.如何生成JSON格式的数据? 四.如何解析JSON格式的数据? ...
- 解析json格式数据
实现目标 读取文件中的json格式数据,一行为一条json格式数据.进行解析封装成实体类. 通过google的Gson对象解析json格式数据 我现在解析的json格式数据为: {",&qu ...
- fastJson java后台转换json格式数据
什么事JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...
随机推荐
- java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况
java springboot activemq 邮件短信微服务,解决国际化服务的国内外兼容性问题,含各服务商调研情况 邮件短信微服务 spring boot 微服务 接收json格式参数 验证参数合 ...
- Chrome表单自动填充如何取消(暂时可行的解决办法)
做项目时一直遇到一个问题,那就是用chrome测试的时候页面上的表单一直会自动填充,并且伴有黄色的背景颜色,有时候感觉很方便,有时候又很想去掉. 之前也多次寻找过方法,但是网上的方法都差不多,很多都是 ...
- vue各种实例集合
注意:以下所有示例基于vue 2.x.Vuex 2.x. vm.$mount()-挂载: <body> <div id="a"> </div> ...
- Nginx配置服务器静态文件支持跨域访问
在server中配置 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Reque ...
- StructureStreaming与kafka集成读取数据必要的jar包
<dependency> <!--structurStreaming读取kafka1.0以下必须的jar--> <groupId>org.apache.spark& ...
- 3D模型文字动画
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 像黑客一样使用Linux命令行(转载)
阅读目录 前言 使用 tmux 复用控制台窗口 在命令行中快速移动光标 在命令行中快速删除文本 快速查看和搜索历史命令 快速引用和修饰历史命令 录制屏幕并转换为 gif 动画图片 总结 回到顶部 前言 ...
- MyEclipse 10.7(版本:eclipse 3.7.x-Indigo系列)安装activiti-eclipse-plugin插件(流程设计器)
基本信息 1.本机MyEclipse 10.7菜单[Help->About MyEclipse Enterprise Workbench]的版本信息: MyEclipse Enterprise ...
- 观实验室PPT演讲有感
outline 一定要有 说话的语速要慢,压制住紧张的心情 提前一天发布PPT dont` argue with audience, especially professor and teachers ...
- bzoj 4540 [HNOI 2016] 序列 - 莫队算法 - Sparse-Table - 单调栈
题目传送门 传送点I 传送点II 题目大意 给定一个长度为$n$的序列.询问区间$[l, r]$的所有不同的子序列的最小值的和. 这里的子序列是连续的.两个子序列不同当且仅当它们的左端点或右端点不同. ...