Почему мой код не работает для добавления новой пустой строки в jqxGrid?
Это мой установочный код для сетки.
var source =
{
datatype: "json",
datafields: [
{ name: 'Name', type: 'string' },
{ name: 'PaymentSchemeName', type: 'string' },
{ name: 'IsActive', type: 'boolean' },
{ name: 'Remarks', type: 'string' }
],
url: "@Url.Action("GetParkades")"
};
var dataAdapter = new $.jqx.dataAdapter(source);
$("#index-grid").jqxGrid(
{
width: 900,
source: dataAdapter,
editable: true,
columns: [
{ text: "Name", datafield: "Name", cellsformat: 'd', width: 300 },
{ text: "Payment Scheme", datafield: "PaymentSchemeName", width: 200 },
{ text: "Active", datafield: "IsActive", width: 50, columntype: 'checkbox' },
{ text: "Operator Remarks", datafield: "Remarks" }
]
});
$("#addrowbutton").jqxButton({ theme: theme });
$("#addrowbutton").bind('click', function() {
var id = $("#index-grid").jqxGrid('getdatainformation').rowscount;
$("#index-grid").jqxGrid('addrow', id, []);
});
click
событие для addrowbutton
стреляет пропеллерно, а линия $("#index-grid").jqxGrid('addrow', id, []);
кажется, выполняется без ошибок, но новая строка не добавляется в сетку. Я, кажется, где-то отсутствует конфигурация или строка кода. Что бы это могло быть?
3 ответа
Решение
Это должно быть {}... и вам не нужен второй аргумент, так как строка добавляется в конце, я верю. Вот код, который я использовал, чтобы добавить строку...
$('#jqxGrid').jqxGrid('addrow', null, {});
// JQX doesn't scroll to the page, so do it ourselves..
var value = $('#jqxGrid').jqxGrid('getrows').length;
$('#jqxGrid').jqxGrid('ensurerowvisible', value);
Добавьте этот блок кода в var source={}
addrow: function (rowid, rowdata, position, commit) {
commit(true);
}
Вам нужно зафиксировать строку, чтобы завершить сложение.