我正在使用方法addJsonRows将本地数据添加到jQgrid.由于此方法禁用排序,我需要另一种解决方案.一个限制:我无法设置url并从服务器获取数据,因为数据是通过另一个组件传递的.
在片段下方启发了案例.注释行显示限制,我通过定义一个局部变量来替换它以获得测试用例.
<script type="text/javascript" language="javascript">
function loadPackageGrid() {
// Get package grid data from hidden input.
// var data = eval("("+$("#qsmId").find(".qsm-data-packages").first().val()+")");
var data = {
"page": "1",
"records": "2",
"rows": [
{ "id": "83123a", "PackageCode": "83123a" },
{ "id": "83566a", "PackageCode": "83566a" }
]
};
$("#packages")[0].addJSONData(data);
};
$(document).ready(function() {
$("#packages").jqGrid({
colModel: [
{ name: 'PackageCode', index: 'PackageCode', width: "110" },
{ name: 'Name', index: 'Name', width: "300" }
],
pager: $('#packagePager'),
datatype: "local",
rowNum: 10000,
viewrecords: true,
caption: "Packages",
height: …Run Code Online (Sandbox Code Playgroud) 我试图让嵌套的子网格使用jqGrid与本地数据一起工作.我搜索了很多,但一直无法找到解决方案.以下是我的代码的简化示例:
var mainGridData =
[
// main grid data
{ id: "m1", col1: "11", col2: "12" },
{ id: "m2", col1: "21", col2: "22" },
{ id: "m3", col1: "31", col2: "32" }
];
var firstSubgrid =
{
m1: [
// data for subgrid for the id=m1
{ id: "s1a", c1: "aa", c2: "ab", c3: "ac" },
{ id: "s1b", c1: "ba", c2: "bb", c3: "bc" },
{ id: "s1c", c1: "ca", c2: "cb", c3: "cc" }
],
m2: [ …Run Code Online (Sandbox Code Playgroud) 我将主网格正确拖放到二级网格中.我的问题是,如何在将行放入我的辅助网格之前执行检查,这将确定我尝试丢弃的行是否已经存在?如果它已经存在于二级网格中,请不要让用户将其丢弃,基本上停止拖放功能.
我想我可以从我试图放弃的行中获取键值.然后,检查该值是否已作为我已删除的行之一中的键值存在.我假设我将以某种方式使用此功能:
beforedrop : function(e,ui,data,source,target) { }
Run Code Online (Sandbox Code Playgroud)
或者这个功能:
ondrop: function (ev, ui, getdata) { }
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?
我想使用嵌套子网格的jqgrid.但是,我发现的唯一示例是在主网格中填充一个url load-data调用和单独的调用来填充subgrids.
我的子网格数据作为嵌套文档存在于一个JSON结构中,如下面的代码段所示(我希望章节显示为书的子网格,文件是章节中的子网格).
我可以使用jqgrid从嵌套的JSON文档创建子网格吗?
{
_id: {"509403957ae7d3929edcb812"},
name: {"MYBOOK"},
layout: {
chapters [
{
name: "myfirstchapter",
sequence: 1,
title: "My First Chapter",
files: [
{
filetype: "tex",
name: "myfirstfile"
},
{
filetype: "tmpl",
name: "myfileb",
}
],
},
{
name: "mysecondchapter",
sequence: 2,
title: "My Second Chapter",
files: [
{
filetype: "tex",
name: "myintro"
},
{
filetype: "tex",
name: "myfilec",
}
],
],
}
}
Run Code Online (Sandbox Code Playgroud) 我需要一些关于如何在以下sceaniro中实现子网格的想法.
以下是我想在JQuery Grid和Subgrid中显示的json数据.基本上我得到一个名为"Contact"的对象,它有一个名为"actionSet"的集合.
{
"total" : "10",
"page" : "1",
"records" : "78",
"rows" : [ {
"comment" : null,
"givenName" : "Contact A",
"familyName" : "A",
"actionSet" : [ {
"actionID" : 1,
"actionDueDate" : "2012-12-08",
"actionNote" : "Action 1"
}, {
"actionID" : 2,
"actionDueDate" : "2012-12-08",
"actionNote" : "Action 2"
} ]
} ...]
}
Run Code Online (Sandbox Code Playgroud)
我希望eache Grid行显示"Contact",与网格关联的subgris应显示"actionSet"集合.
当选择网格中的特定行时,我不想进行服务器调用以获取关联的操作,因为它们已经存在于"actionSet"中.
我有网格工作,很好地显示"联系人",但我在实现子网格时感到困惑,因为如何获取数据,因为它已经在json中可用.
jq(function() {
jq("#grid").jqGrid({
url:'/smallworks/project/getall.do',
datatype: 'json',
mtype: 'GET',
colNames:['Id', 'First Name', 'Last Name'],
colModel:[
{name:'id',index:'id', width:55,editable:false,editoptions: {readonly:true,size:10},hidden:true},
{name:'givenName',index:'givenName', …Run Code Online (Sandbox Code Playgroud) 我使用下面的示例代码来创建带有subGrids的jqGrid.
就我而言,我删除了subGrids的标题.所以,它看起来像一个分组.
在这里,每当我调整主网格列的大小.我检查了jqGrid文档并找到了" resizeStop ",它返回了列id和新的宽度.
但是,没有找到类似setSize的列.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SubGrid Editable</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/redmond/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.3.2/css/ui.jqgrid.css" />
<style>
.groupColumn {
background-color: #E3E3D7 !important;
border: 1px solid #F4F4e5;
font-weight: bold; !important;
}
.lockedColumn {
background-color: #E3E3D7 !important;
border: 1px solid #F4F4e5;
}
.ui-jqgrid .ui-subgrid td.subgrid-data {
border-top: 0 none !important;
border-right: 0 none !important;
border-bottom: 0 none !important;
}
</style> …Run Code Online (Sandbox Code Playgroud)