1

次のようなグリッドでドラッグ アンド ドロップ機能を使用しています。

{
xtype: 'gridpanel',
id: 'editlinesGrid',
title: 'line',
forceFit: true,
store: 'gridEditlines',
region: 'center',
viewConfig: {
    plugins: [
    Ext.create('Ext.grid.plugin.DragDrop', {
        ptype: 'gridviewdragdrop'
    })],
    listeners: {
        drop: {
            fn: me.onGriddragdroppluginDrop,
            scope: me
        }
    }
},
columns: [{
    xtype: 'rownumberer',
    dataIndex: 'stopOrder'
}, {
    xtype: 'gridcolumn',
    dataIndex: 'stopId',
    text: 'stopId',
    field: {
        xtype: 'combobox',
        allowBlank: false,
        displayField: 'stopId',
        store: 'gridStops'
    }
},

行をより高い位置またはより低い位置にドラッグすると、新しい位置をサービスに送信する必要があります。私が送信する必要があるのはこれです:

{
"stopOrder": 1,  <-- here should be the new position in the grid
"stopDTO": {
"stopId" : 1
}
}

これは、ドラッグ アンド ドロップに使用するイベント バインディングです。

 onGriddragdroppluginDrop: function(node, data, overModel, dropPosition, options) {
    alert(data);
},

データをサービスに送り返すにはどうすればよいですか?

4

1 に答える 1

6

質問に答えられない限り、私もそれを「見つける」ために時間を費やします。これはメインのsencha docへのリンクです DnDを使用してグリッド行を並べ替える

于 2013-11-06T13:41:40.357 に答える