Проблема с использованием kendo sortable и kendo virtual scrolling

У меня проблема с сеткой, где я использую сортируемый виджет и виртуальную прокрутку (для бесконечной прокрутки). На самом деле проблема возникает, когда вы начинаете перетаскивать один из элементов, затем прокручиваете и после этого делаете мышку. Результат этих манипуляций вы можете увидеть здесь - http://prntscr.com/7kvtn6. Предмет, который я накачал наркотиками, не может найти свое место.

var data = [
    {'Id': 1, 'FirstName': 'John_1'},
    {'Id': 2, 'FirstName': 'John_2'},
    {'Id': 3, 'FirstName': 'John_3'},
    {'Id': 4, 'FirstName': 'John_4'},
    {'Id': 5, 'FirstName': 'John_5'},
    {'Id': 6, 'FirstName': 'John_6'},
    {'Id': 7, 'FirstName': 'John_7'},
    {'Id': 8, 'FirstName': 'John_8'},
    {'Id': 9, 'FirstName': 'John_9'},
    {'Id': 10, 'FirstName': 'John_10'}];

var grid = $('.js-reorder').kendoGrid({
    dataSource: {
        data: data,
        pageSize: 4,
        serverSorting: true,
        serverPaging: true
    },
    height: 125,
    scrollable: {
        virtual: true
    },
    columns: [
        { field: "Id", title: "ID", width: "110px" },
        { field: "FirstName", title: "First Name", width: "130px" }
    ]
});

grid.find('.k-grid-content').find('tbody').kendoSortable({
    cursor: 'move'
});

На самом деле я нашел причину. Когда вы начинаете перетаскивать элемент, кендо создайте для него заполнитель, а когда вы перемещаете этот элемент, кендо также перемещайте заполнитель. Но когда вы прокручиваете, кендо загружает новые элементы в сетку и заменяет все уже существующие элементы в таблице, включая заполнитель. Поэтому, когда вы наводите курсор мыши, kendo не может найти заполнитель для элемента и вставить его только в текущую позицию мыши, и мы имеем то, что имеем.

Может ли кто-нибудь помочь избежать такого поведения?

Пример здесь - http://jsfiddle.net/eu20k7zg/5/

0 ответов

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