сохранение строки вместо восстановления данных - PullRequest
1 голос
/ 15 августа 2011

Я хочу сохранить данные, а не восстанавливать их при выборе другой строки.Как мне это сделать?

Я тестировал этот код без каких-либо результатов:

    onSelectRow: function(row_id) { 
        if(row_id && row_id !== last_selected) {
            /*
             * Save row.
             */
            $('#grid').jqGrid('saveRow', ((last_selected !== undefined)?last_selected:row_id) , true, function() {/* OnEditFunction */}, function(response) {
                /* SuccessFunction */
                var row_to_save = ((last_selected !== undefined)?last_selected:row_id);

                success_function(row_to_save, response);

                }, 'http://some_url.com');

            last_selected = row_id;
        }   

        /*
         * Edit row.
         */
        $('grid').jqGrid('editRow', row_id, true, function() {/* OnEditFunction */}, function(response) {
            /* SuccessFunction */
            success_function(row_id, response);

            }, 'http://some_url.com'); 
    },

Было бы здорово, если бы я мог запустить функцию успеха перед строкойуспешно сохранен, поэтому я могу показать уведомление.

Заранее спасибо.

1 Ответ

1 голос
/ 15 августа 2011

Я полагаю, что у вас есть проблема, потому что одна маленькая ошибка в вашей текущей реализации succesfunc, которую вы используете в saveRow или editRow . Метод editRow просто перенаправляет параметр succesfunc в saveRow , поэтому подробное описание параметра succesfunc вы найдете в документации по saveRow, Вы можете прочитать следующее:

succesfunc: если определено, эта функция вызывается сразу после запрос выполнен успешно Эта функция передает данные, возвращенные из сервер. В зависимости от данных с сервера; эта функция должна вернуть true или false.

Таким образом, вы должны по крайней мере включить return true; в качестве последнего утверждения вашей реализации succesfunc.

...