Jquery jqGrid addRowData不';不能将栅格用作子栅格
我想在jqGrid中使用网格作为子网格,因为我读到“简单子网格”不允许单元格编辑 我成功地用dataType函数填充主网格,并尝试对subgrid执行相同的操作,但subgrid显示没有数据,我不知道为什么,因为我调试并正确地从web服务捕获数据,但当我查看数据时,向subgrid添加行数据似乎没有效果 我使用的是ASP.NET2.0Web服务和JSON,这是客户端代码,有什么想法吗?谢谢:-) 编辑: 我加了一句:Jquery jqGrid addRowData不';不能将栅格用作子栅格,jquery,jqgrid,Jquery,Jqgrid,我想在jqGrid中使用网格作为子网格,因为我读到“简单子网格”不允许单元格编辑 我成功地用dataType函数填充主网格,并尝试对subgrid执行相同的操作,但subgrid显示没有数据,我不知道为什么,因为我调试并正确地从web服务捕获数据,但当我查看数据时,向subgrid添加行数据似乎没有效果 我使用的是ASP.NET2.0Web服务和JSON,这是客户端代码,有什么想法吗?谢谢:-) 编辑: 我加了一句: function ReceivedClientData(data) {
function ReceivedClientData(data) {
var thegrid = $("#" + gridId);
if ($(thegrid).length == 0) alert('NOT EXISTS');
thegrid.clearGridData();
for (var i = 0; i < data.length; i++)
thegrid.addRowData(i + 1, data[i]);
}
当回调时使用它,但当我尝试添加RowData时,我从jqgrid.js接收到一个p.RowNumber为null的消息:-有什么建议吗
function ReceivedClientDataForSubGrid(data) {
var thegrid = $("#" + subGridID);
if ($(thegrid).length == 0) alert('NOT EXISTS');
thegrid.clearGridData();
for (var i = 0; i < data.length; i++)
thegrid.addRowData(i + 1, data[i]);
}
子网格(数据)的函数ReceivedClient数据{
var thegrid=$(“#”+子网格ID);
如果($(thegrid).length==0)警报(“不存在”);
clearGridData();
对于(变量i=0;i
将“编辑3”移动到答案,将问题标记为已回答
我解决了它,我使用了一个不正确的ID,正确的ID是var thegrid=$(“#”+subGridID+“#t”) 完整的客户端代码
var gridId=“table”;
$(函数(){
$(“#”+gridId).jqGrid({
数据类型:函数(pdata){getData(pdata);},
身高:250,
colNames:['Nombre Objetivo','Tipo Objetivo','Objetivo Tipo 1','Objetivo Tipo 2','Objetivo Tipo 3','autoevaluation','Resultado Final','Actions'],
colModel:[
{name:'ObjetivoNombre',宽度:200,可排序:false},
{name:'TipoObjetivo',宽度:200,可排序:false,可编辑:true,edittype:'select',editoptions:{value:{1:'1',2:'2',3:'3'},
{name:'ObjetivoTipo1',宽度:200,可排序:false,隐藏:true},
{name:'ObjetivoTipo2',宽度:200,可排序:false,隐藏:true},
{name:'ObjetivoTipo3',宽度:200,可排序:false,隐藏:true},
{name:'Autoevaluacion',宽度:200,可排序:false,隐藏:false,可编辑:true},
{name:'resultAdminal',宽度:200,可排序:false,隐藏:false,可编辑:true},
{name:'act',index:'act',宽度:75,可排序:false}
],
是的,
cellsubmit:'客户端阵列',
寻呼机:“#寻呼机”,
rowNum:10,
行列表:[10,20,30],
sortname:“Nombre Objetivo”,
排序器:“desc”,
viewrecords:是的,
gridComplete:函数(){
var id=jQuery(“#table”).jqGrid('getdataid');
var idsLength=ids.length;
对于(变量i=0;ifunction ReceivedClientDataForSubGrid(data) {
var thegrid = $("#" + subGridID);
if ($(thegrid).length == 0) alert('NOT EXISTS');
thegrid.clearGridData();
for (var i = 0; i < data.length; i++)
thegrid.addRowData(i + 1, data[i]);
}
var gridId = "table";
$(function() {
$("#"+gridId).jqGrid({
datatype: function(pdata) { getData(pdata); },
height: 250,
colNames: ['Nombre Objetivo', 'Tipo Objetivo', 'Objetivo Tipo 1', 'Objetivo Tipo 2', 'Objetivo Tipo 3', 'Autoevaluacion', 'Resultado Final', 'Actions'],
colModel: [
{ name: 'ObjetivoNombre', width: 200, sortable: false },
{ name: 'TipoObjetivo', width: 200, sortable: false, editable: true, edittype: 'select', editoptions: { value: { 1: '1', 2: '2', 3: '3'}} },
{ name: 'ObjetivoTipo1', width: 200, sortable: false, hidden: true },
{ name: 'ObjetivoTipo2', width: 200, sortable: false, hidden: true },
{ name: 'ObjetivoTipo3', width: 200, sortable: false, hidden: true },
{ name: 'Autoevaluacion', width: 200, sortable: false, hidden: false, editable: true },
{ name: 'ResultadoFinal', width: 200, sortable: false, hidden: false, editable: true },
{ name: 'act', index: 'act', width: 75, sortable: false }
],
cellEdit: true,
cellsubmit: 'clientArray',
pager: '#pager',
rowNum: 10,
rowList: [10, 20, 30],
sortname: 'Nombre Objetivo',
sortorder: 'desc',
viewrecords: true,
gridComplete: function() {
var ids = jQuery("#table").jqGrid('getDataIDs');
var idsLength = ids.length;
for (var i = 0; i < idsLength; i++) {
var cl = ids[i];
de = "<input style='height:22px;width:20px;' type='button' value='D' onclick=\"deleteRow('" + cl + "');\" />";
jQuery("#table").jqGrid('setRowData', ids[i], { act: de });
}
},
subGrid: true,
subGridRowExpanded: function(subgrid_id, row_id) {
var subgrid_table_id;
subgrid_table_id = subgrid_id + "_t";
jQuery("#" + subgrid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");
jQuery("#" + subgrid_table_id).jqGrid(
{
datatype: function(pdata) { getDataSubGrid(pdata); },
colNames: ['Nombre Objetivo', 'Tipo Objetivo', 'Objetivo Tipo 1', 'Objetivo Tipo 2', 'Objetivo Tipo 3', 'Autoevaluacion', 'Resultado Final'],//, 'Actions'],
colModel: [
{ name: 'ObjetivoNombre', width: 200, sortable: false },
{ name: 'TipoObjetivo', width: 200, sortable: false, editable: true, edittype: 'select', editoptions: { value: { 1: '1', 2: '2', 3: '3'}} },
{ name: 'ObjetivoTipo1', width: 200, sortable: false, hidden: true },
{ name: 'ObjetivoTipo2', width: 200, sortable: false, hidden: true },
{ name: 'ObjetivoTipo3', width: 200, sortable: false, hidden: true },
{ name: 'Autoevaluacion', width: 200, sortable: false, hidden: false, editable: true },
{ name: 'ResultadoFinal', width: 200, sortable: false, hidden: false, editable: true }
],
height: 100,
rowNum: 20,
sortname: 'num',
sortorder: "asc"
});
},
caption: "jQGrid Ejemplo"
})
});
//AJAX GET DATA FROM WS
function getData(pData) {
gridId = "table";
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '<%= ResolveClientUrl("~/WebService.asmx/ObtenerDatosDPO") %>',
data: '{}',
dataType: "json",
success: function(data, textStatus) {
ReceivedClientData(JSON.parse(getMain(data)).rows);
},
error: function(data, textStatus) {
alert('An error has occured retrieving data!');
}
});
}
function getDataSubGrid(pData) {
gridId = "table_t";
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '<%= ResolveClientUrl("~/WebService.asmx/ObtenerDatosDPOSubGrid") %>',
data: '{}',
dataType: "json",
success: function(data, textStatus) {
ReceivedClientData(JSON.parse(getMain(data)).rows);
},
error: function(data, textStatus) {
alert('An error has occured retrieving data subgrid!');
}
});
}
//COMMON FUNCTIONS
function ReceivedClientData(data) {
var thegrid = $("#"+gridId);
thegrid.clearGridData();
for (var i = 0; i < data.length; i++)
thegrid.addRowData(i + 1, data[i]);
}
function getMain(dObj) {
if (dObj.hasOwnProperty('d'))
return dObj.d;
else
return dObj;
}