jqGrid с localArray - встроенная навигация: вызов пользовательской функции при нажатии кнопок добавления, сохранения и удаления строк

Я использую jqGrid с данными localArray. Я извлекаю этот массив из лазурной БД и перебираю в сетку. После этого при манипулировании каждой строкой я планирую обновить ее в БД.

Я использую встроенную панель навигации. При нажатии кнопки "добавить строку", "сохранить строку" и "удалить строку" я хочу вызвать свою пользовательскую функцию, а затем хотел бы сохранить / удалить данные в БД из этой функции.

Сначала я хотел бы знать, является ли мой дизайн правильным и масштабируемым или нет.

В настоящее время я могу вызывать пользовательскую функцию по нажатию кнопки сохранения, используя параметр "aftersavefunc".

Во-вторых, пожалуйста, дайте мне знать, какой параметр я должен установить для кнопки "Удалить строку". Я думаю, что для "Добавить строку", тот же параметр может работать, так как мы должны нажать кнопку "Сохранить строку", чтобы сохранить строку.

Мой код, как показано ниже для справки:

jQuery("#list4").jqGrid({
        datatype: "local",
        data: myData,
        height: "auto",
        colNames: ['RowNo', 'RouteId', 'Area', 'BusStop', 'Seater', 'Lat', 'Long', 'Timing', 'FromTo', 'KeyPoint'],
        colModel: [
                  { name: 'id', index: 'id', width: 50, sortable: false },
                  { name: 'RouteId', index: 'RouteId', width: 50, sortable: false },
                  { name: 'Area', index: 'Area', width: 130, sortable: false, editable: true, editrules: { required: true} },

              ],
        multiselect: false,
        rownumbers: false,
        rowList: [10, 20, 30],
        pager: jQuery('#pager1'),
        viewrecords: true,
        caption: "Bus Schedule Data",
        editurl: "clientArray",
        restoreAfterSelect: false,
        loadonce: true

    });
    var rowid;
    var inlineparams = {
        addParams: { useFormatter: false },
        editParams: {
            aftersavefunc: function (id) {
                var rowData = jQuery('#list4').jqGrid('getRowData', id);
                ScheduleTable.update({ id: 1, Area: rowData.Area.toString() });
            }
        },
        add: true,
        edit: true,
        save: true,
        cancel: true,
        del: true
    };

    jQuery("#list4").jqGrid('navGrid', "#pager1", { edit: false, save: false, add: false, cancel: false, del: false });
    jQuery("#list4").jqGrid('inlineNav', "#pager1", inlineparams);
    jQuery('#list4').jqGrid("saveRow", id, {
        keys: false,
        url: "clientArray"
    });

0 ответов

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