Я совершенно новый с Jqrid, хотя потоки stackoverflow о Jqgrid очень хороши, но у меня есть вопрос.Редактируемый JQGrid с настраиваемой функциональностью
1-я хочу сетку с редактируемыми столбцами с добавлением, редактированием, удалением, отменой функциональности.
2-после этого мне нужно связать события, например: row selected events для загрузки своего дочернего элемента
записей.
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;
}
Вот демонстрационная страница с обширными примерами, которые вы можете использовать: http://trirand.com/blog/jqgrid/jqgrid.html Вниз, потому что вы даже не исследовали достаточно, чтобы иметь возможность спросить конкретного, интеллектуального вопрос. – david