Изменение порядка строк в сетке Ext JS 4 - PullRequest
1 голос
/ 17 марта 2012

Я хочу иметь возможность изменить порядок строк в одной сетке.Я относительно новичок в extjs и пытался найти его, но все ресурсы, которые я нашел, предназначены для более старых версий ext js, и некоторые свойства, определенные в них, больше не действительны.Например, http://www.vinylfox.com/getting-started-with-grid-drag-drop/

    xtype: 'grid',
    id: 'row-grid',
    hideHeaders: true,
    store: 'SelectedRowStore',
    //enableDragDrop: true,
    //ddGroup: 'rowgrid-dd',
    columns: [
        {
            header: 'Rows',
            flex: 1,
            sortable: false,
            dataIndex: 'DisplayName'
        }, 
        {
            id: 'button-column',
            dataIndex: 'ID',
            sortable: true,
            hideable: false,
            width: 35,
            renderer: PA.common.RendererHelper.renderButtonForAddRowMainGrid
        }
    ] 

Буду очень признателен за любую помощь / совет по этому вопросу.

Ответы [ 2 ]

2 голосов
/ 17 марта 2012

Посмотрите на пример grid-grid-drag-n-drop . Он работает с двумя сетками, но я уверен, что его можно легко изменить, чтобы разрешить перестановку строк в одной сетке.

0 голосов
/ 02 июня 2017

Вы можете следовать примеру сенчи, как сказал Рене, или следовать этому:

Добавьте это в свою сетку:

       viewConfig: {
            plugins: {
                ptype: 'gridviewdragdrop',
                containerScroll: true,
                dragGroup: 'someuniquenameforyourgrid',
                dropGroup: 'someuniquenameforyourgrid'
            },
        },

И только если вам нужен слушатель, чтобы сделать какую-то акцию,добавить (внутри viewConfig):

       listeners: {
            drop: 'onDropGrid'
        }

и код обработчика события в вашем контроллере:

   onDropGrid: function (node, data, dropRec, dropPosition) {
       ...
   }
...