Я использую ссылку ниже для сортировки строки CGridview,
http://www.yiiframework.com/wiki/238/creating-a-jqueryui-sortable-cgridview/
он работает нормально, но после обновления сетки я не могу перетащить строку сетки!
Мой код,
$('#basefilter-grid table').sortable({
forcePlaceholderSize: true,
forceHelperSize: true,
items: 'tr',
update : function () {
serial = $('#basefilter-grid table').sortable('serialize', {key: 'order[]', attribute: 'class'});
$.ajax({
'url': '" . $this->createUrl('baseContact/orderFilterRow') . "',
'type': 'post',
'data': serial,
'success': function(data){
$.fn.yiiGridView.update('basefilter-grid');
},
'error': function(request, status, error){
alert('We are unable to set the sort order at this time. Please try again in a few minutes.');
}
});
},
helper: fixHelper
}).disableSelection();
У меня есть столбец ‘order’ после перетаскивания строки, он обновляется, после обновления сетки будет видно только обновленное значение, поэтому мне нужно обновить сетку плохо, кто-нибудь может сказать, как это сделать?
Я думаю, я знаю, в чем проблема. Если у вас есть какой-либо JavaScript или CSS, добавленные в представление, где находится ваша сетка, они могут быть недоступны после ajaxUpdate
, Я предлагаю вам повторно активировать плагины или дополнительную функциональность JS, используемую для drag’n’drop.
Например, если вы хотите использовать всплывающие подсказки начальной загрузки, вам необходимо повторно активировать их после ajaxUpdate:
'afterAjaxUpdate' => 'function(id,data) { $("[rel=\"tooltip\"]").tooltip(); }',
Других решений пока нет …