簡體   English   中英

kendo網格行在運行時滑動

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM