[英]kendo grid row swipe at runtime
我想連續刷兩行。下面是我的Kendo網格。在第一行的向下按鈕上單擊第一次后,它可以正常工作(內部更改為前兩行),但是再次在第一行的向下按鈕上單擊,則無法正常工作(此階段的內部更改發生在第二行和第三行之間),因為我更改了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" } );
}
請在需要糾正的地方提供幫助,或者為我提供一個使用更改序列號連續刷兩行的解決方案。
嘗試這個
this.downItem = function ( dataItem )
{
var index = vm.dataSource.indexOf( dataItem );
var downItemValue = dataItem.reportOrder;
for ( var rowIdx = 0; rowIdx < vm.dataSource._data.length; rowIdx++ )
{
if ( vm.dataSource._data[rowIdx].reportOrder == ( dataItem.reportOrder + 1 ) )
{
vm.dataSource._data[index].reportOrder = vm.dataSource._data[rowIdx].reportOrder;
vm.dataSource._data[rowIdx].reportOrder = downItemValue;
break;
}
}
vm.dataSource.sort( { field: "reportOrder", dir: "asc" } );
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.