Почему мой код не работает для добавления новой пустой строки в 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);
}

Вам нужно зафиксировать строку, чтобы завершить сложение.

Другие вопросы по тегам