Я новичок в Jqrid, хотя потоки stackoverflow о Jqgrid очень хороши, но у меня есть некоторые вопросы.
1-я хочу сетку с редактируемыми столбцами с функциями добавления, редактирования, удаления, отмены.
2 - после этого мне нужно привязать некоторые события к Like: строка выбранных событий для загрузки его потомка
записи.
3 - тогда, когда я нажму "отправить", сохраните записи со всей страницей, как у меня есть другие
детали моей сущности также.
для этого я что-то сделал, искал другое решение, но пока не смог.
Вот мое небольшое усилие:)
function JSMethod() {
var grid = $("#table");
var ids = grid.getDataIDs();
for (var i = 0; i < ids.length; i++) {
grid.editRow(ids[i], true);
};
}
$.ajax({
type: "GET",
url: '<%= ResolveClientUrl("~/WebService.asmx/GetLookup") %>',
dataType: "text",
success: function (result) {
alert('Success');
lookup = result;
},
async: false
});
$(function () {
var lookup = "";
$("#table").jqGrid({
datatype: function (pdata) { getData(pdata); },
height: 250,
editurl: 'default.aspx',
gridview: true,
colNames: ['ID', 'First Name', 'Last Name', 'Buttons'],
colModel: [
{ name: 'ID', width: 60, sortable: false, hidden: true },
{ name: 'FirstName', width: 200, sortable: false },
{ name: 'LastName', width: 200, sortable: false, editable: true, edittype: 'select', stype: 'select', formatter: 'select', editoptions: { value:GetData, size: 30, maxlength: 20} },
{ name: 'Buttons', width: 200, sortable: false }
],
onSelectRow: function (rowId) {
if (rowId && rowId !== lastRowId) {
if (lastRowId != null) {
var a = $('#list').saveRow(lastRowId, false, 'clientArray');
changedRows[lastRowId] = $('#list').getRowData(lastRowId);
}
jQuery('#list').editRow(rowId, true);
}
lastRowId = rowId;
},
imgpath: '<%= ResolveClientUrl("~/styles/redmon/images") %>',
caption: "Sample JSON data retrieved from ASMX web services"
});
});
function getData(pData) {
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '<%= ResolveClientUrl("~/WebService.asmx/GetListOfPersons") %>',
data: '{}',
dataType: "json",
success: function (data, textStatus) {
if (textStatus == "success")
ReceivedClientData(JSON.parse(getMain(data)).rows);
},
error: function (data, textStatus) {
alert('An error has occured retrieving data!');
}
});
}
function ReceivedClientData(data) {
var thegrid = $("#table");
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;
}