问题:jqGrid有子网格.我想为主网格的某些行禁用展开/折叠功能.
如何将json格式的jqGrid数据发送到服务器?我是否必须使用任何外部库或脚本来实现这一目标?
谢谢!
update1:extra licensePlateNumber不应该在那里
[
{
"licensePlateNumber": ""
},
{
"licensePlateNumber": "0000000000000029000721804",
"sku": "795127",
"description": "",
"caseQuantity": "24",
"isHeld": "false",
"expirationDate": "Jul 22, 2010 12:00:00 AM"
},
{
"licensePlateNumber": "0000000000000029000722323",
"sku": "795127",
"description": "",
"caseQuantity": "24",
"isHeld": "false",
"expirationDate": "Jul 22, 2010 12:00:00 AM"
},
{
"licensePlateNumber": "0000000000000029000722669",
"sku": "795127",
"description": "",
"caseQuantity": "24",
"isHeld": "false",
"expirationDate": "Jul 22, 2010 12:00:00 AM"
}
]
Run Code Online (Sandbox Code Playgroud) 我需要传递userData给jqgrid,但找不到任何如何执行此操作的示例.这是我的尝试:
从服务器发送:
{ total: 25,
page: currentpage,
userData: {foo: 'bar'},
rows: myRows }
Run Code Online (Sandbox Code Playgroud)
在jqgrid中:
var data = jQuery("#grid").getGridParam('userData');
Run Code Online (Sandbox Code Playgroud)
如何userData从jqgrid 发送和读取它?
编辑:我知道我userData被送了,因为我可以在Fiddler看到它.我想我只是坚持如何在客户端阅读它.
在我的Jqgrid我有一个删除链接的列,一切都很完美,除了删除确认框一直弹出左上角.我想在jqgrid的中心有一个确认框,而不是在左上角.
{ name: 'act', index: 'act', width: 150, align: 'center', sortable: false}],
gridComplete: function () {
var rows = jQuery("#list").jqGrid('getGridParam','selrow');
var ids = jQuery("#list").jqGrid('getDataIDs');
var gr = jQuery('#list'); gr.setGridHeight("auto", true);
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
be = "<a href='#' style='height:25px;width:120px;' type='button' value='Slet' onclick=\"jQuery('#list').jqGrid('delGridRow','" + cl + "',{reloadAfterSubmit:false, url:'@Url.Action("deleteRow")'}); return false;\">Slet </>";
jQuery("#list").jqGrid('setRowData', ids[i], { act: be });
}
},
Run Code Online (Sandbox Code Playgroud)
UPDATE
be = "<a href='#' style='height:25px;width:120px;' type='button' value='Slet' onclick=\"jQuery('#list').jqGrid('delGridRow','" + cl + …Run Code Online (Sandbox Code Playgroud) 我正在使用jqGrid并启用了内联编辑.问题是某些字段的内容很长,默认情况下该字段不够大,无法使用:

我想要做的是为textarea设置一个固定的宽度,并在它获得焦点时将其扩展为在表格上方可见.像这样的东西:

我可以为textarea设置CSS editoptions:dataInit,但是如果我只是增加宽度,则textarea的右侧会在表格单元格的末尾被剪掉.我想我可以用一些聪明的CSS解决这个问题吗?
顺便说一下,我知道弹出式编辑器可能对此更有意义,但客户端坚持认为它仍然是内联编辑器.
有没有办法创建具有多个输入元素的自定义字段?我正在查阅文档并创建单个输入元素非常简单,但我不确定如何添加多个.
有没有人过这个桥?如果是这样,你是怎么做到的?
这是一些示例代码:
...
{name: 'Dimensions', index: 'Dimensions', hidden: true, editable: true,
edittype: 'custom', editoptions: {custom_element: dimensionsElement,
custom_value: dimensionsValue}, editrules: {edithidden: true}},
...
function dimensionsElement(value, options) {
var el = document.createElement("input");
el.type = "text";
el.value = value;
return el;
}
function dimensionsValue(elem) {
return $(elem).val();
}
Run Code Online (Sandbox Code Playgroud) 我对jQuery很新,刚开始使用jqGrid.我查看了jqGrid文档,以便弄清楚如何显示我在网格中以JSON格式接收的一些数据无济于事.当我创建网格时,它会显示正确的标题,寻呼机信息等,并通过Firebug,我可以看到JSON数据的请求和响应.下面的jsonReader是我尝试过的众多之一,在函数回调中,我可以记录我收到的具体值,所以我知道我正在获取数据.
我将下面指定的JSON加载到jqGrid中的正确方法是什么?
这是相关的代码:
HTML:
<div id="dataInfo">
<table id="dataTable"></table>
<div id="dataTablePager"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
jQuery("#dataTable").jqGrid({
url: 'http://<snip>',
mtype: 'GET',
datatype: 'json',
jsonReader: {
root: 'ipResponses',
id: 'startIP',
repeatitems: false,
page: function(obj) { return 1; },
total: function(obj) { return 1; },
records: function(obj) { return obj.ipInfo.ipResponses.length; },
userdata: "userData"
},
colNames: ['StartIP', 'EndIP'],
colModel: [
{
name: 'startIP',
index: 'startIP',
width: 55
},
{
name: 'endIP',
index: 'endIP',
width: 55
}
],
pager: '#dataTablePager',
rowNum: 8,
rowList: [25,50,100],
sortname: 'startIP',
sortorder: 'asc', …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用刚刚更改的新数据重新加载网格,以便用户可以看到修改后的新数据。
我的方法:
jQuery("#relCasePick").click( function(){
var ids=jQuery("#list10").jqGrid('getGridParam','selarrrow');
$.ajax({
type: "POST",
url: "/cpsb/unprocessedOrders.do?method=releaseToCasePick&orderNumbers="+ids,
data: JSON.stringify(ids),
dataType: "json"
});
jQuery("#list10").setGridParam({rowNum:10,datatype:"json"}).trigger('reloadGrid');
});
Run Code Online (Sandbox Code Playgroud)
当我点击这个按钮时..我正在正确发送数据但是当我重新加载它没有用新数据更新时..如果有人可以帮助我将不胜感激..
我试图用来自Web服务的数据填充jqGrid.我已经彻底查看了jqGrid代码和文档.我需要另一组眼睛来查看下面的代码并告诉我是否遗漏了一些东西.
正如您在代码中看到的那样,我将网格设置为在页面加载或刷新期间加载.网格加载后,我进行Ajax调用以获取JSON数据(再次)并显示在网格下方的div中.
我看到了大部分预期的行为.页面加载后,网格显示加载指示符,然后启动Ajax调用,并在网格下方显示JSON数据.问题是网格完全是空的.列标题是正确的,但网格正文中没有数据.
这是代码:
$(document).ready(function () {
$('#resultDiv').html('');
$('#waitIndicator').hide();
$("#list").jqGrid({
datatype: 'json',
url: 'WeatherDataService.svc/GetWeatherData',
jsonReader: {
root: "Rows",
page: "Page",
total: "Total",
records: "Records",
repeatitems: false,
userdata: "UserData",
id: "StationId"
},
loadui: "block",
mtype: 'GET',
rowNum: 10,
rowList: [10, 20, 30],
viewrecords: true,
colNames: ['Station ID', 'Station Name', 'Timestamp', 'Max Temp',
'Min Temp', 'Precipitation', 'Snowfall', 'SnowDepth'],
colModel: [
{ name: 'StationId', index: 'StationId' },
{ name: 'StationName', index: 'StationName' },
{ name: 'Timestamp', index: 'Timestamp', align: 'right' },
{ name: …Run Code Online (Sandbox Code Playgroud) 这是正常的还是我错过了什么?
如果我设置loadonce: true,我的网格只返回5条记录.
但是,如果我将其更改为loadonce: false,网格将获得所有记录
我的代码如下.
$("#leave-detail-grid").jqGrid({
url:'grid/grid_leave_detail.php',
datatype: 'xml',
mtype: 'GET',
colNames:['Date','Day','Approver','Leave Type','Status','Purpose | Reason'],
colModel :[
{name:'start_date', index:'start_date', width:80, editable:false, align:"left", editrules:{required:true}},
{name:'day', index:'day', width:80, editable:false, align:"left", editrules:{required:true}},
{name:'sup', index:'sup', width:130, editable:false, align:"left", editrules:{required:true}},
{name:'desc', index:'desc', width:130, editable:false, align:"left", editrules:{required:true}},
{name:'status', index:'status', width:80, editable:false, align:"center", editrules:{required:true}},
{name:'purpose', index:'purpose', width:180, editable:false, align:"left", editrules:{required:true}}
],
height: 'auto',
pager: '#leave-detail-pager',
pgbuttons: true,
pginput: 'Yes',
pgtext: 'Yes',
rowNum:5,
rowList:[20,40,100,200,400],
sortname: 'start_date',
sortorder: 'asc',
loadonce: true, // to enable …Run Code Online (Sandbox Code Playgroud)