Я хочу провести два последовательных пальца. Ниже моя сетка кендо. После 1-го нажатия на кнопку вниз 1-го ряда все работает нормально (меняются первые две строки), но при следующем нажатии на кнопку вниз 1-го ряда снова это не работает, какЯ ожидал (эта смена этапов произошла между 2-й и 3-й строкой), потому что я изменил seqNo и отсортировал сетку по seqNo, но индекс остался прежним.
Код
vm.gridOptions =
{
dataSource: vm.dataSource,
sortable: false,
selectable: true,
filterable: false,
scrollable: true,
pageable: false,
height: 222,
columns:
[
{ title: "...", width: "4%", headerAttributes: { style: "font-weight:bold;text-align:center;" }, attributes: { style: "text-align:center;" }, template: "<span ng-click='vm.downItem(dataItem)' class='btn btn-success btn-xs glyphicon glyphicon-arrow-down' />" },
{ field: "code", title: "Code", width: "10%", headerAttributes: { style: "text-align:center;font-weight: bold;" }, attributes: { style: "text-align:center;" } },
{ field: "name", title: "Name", width: "25%", headerAttributes: { style: "font-weight: bold;" } },
{ field: "reportOrder", title: "Seq No", width: "6%", headerAttributes: { style: "text-align:center;font-weight:bold" }, attributes: { style: "text-align:center;margin:0;padding:1px;" }, template: "<input type='number' class='editable-grid-entry' placeholder='Report Order...' style='text-align:center;width:100%;box-sizing:border-box;' ng-model='dataItem.reportOrder'/>" },
]
};
this.downItem = function ( dataItem )
{
var index = vm.dataSource.indexOf( dataItem );
var totalRow = vm.dataSource._data.length;
var holdSeq = vm.dataSource._data[index + 1].reportOrder;
vm.dataSource._data[index + 1].reportOrder = dataItem.reportOrder;
vm.dataSource._data[index].reportOrder = holdSeq;
vm.dataSource.sort( { field: "reportOrder", dir: "asc" } );
}
Пожалуйста, помогите мне, где я должен исправить или предложите мне решение, чтобы провести два последовательных пальца сИзменение последовательного номера