JQuery EasyUI Tree перетащите и введите - PullRequest
0 голосов
/ 29 февраля 2012

Я использую дерево и древовидную сетку плагина запроса: http://www.jeasyui.com/demo/index.php я хотел перетащить ниспадающую функциональность, которая в настоящее время существует, но проблема в том, что я хочу скопировать узел, а не перемещать его. Также я хочу отредактировать узел treegrid двойным щелчком мыши и сохранить на ENTER. Я могу отредактировать узел по клику dbl, но не знаю, как перехватить событие ENTER !! ниже приведен код, который я реализовал для редактирования узла:

<table id="bomSubTree"  style="width:600px;height:300px"> </table>
.......                 

$('#bomSubTree').treegrid({
     height: 550,
     //width:600,
     dnd: true,
     method: 'get',
     treeField: 'text',
     idField: "oid",
     pagination: "true",
     fitColumns: "true",
     url: '/product_configurator/populate_sub_tree.json',
     columns: [
         [{
             field: 'quantity',
             title: 'Quantity',
             width: 100,
             editor: "numberbox",
             align: "right"
         }

         ]
     ],
     frozenColumns: [
         [{
             title: 'Name',
             field: 'text',
             width: 500
         }]
     ],

     onDblClickRow: function (row) {

         $(this).treegrid('beginEdit', row.oid);
     }
});`

Может ли кто-нибудь1 помочь мне, пожалуйста!?

1 Ответ

0 голосов
/ 20 марта 2012

Попробуйте сделать следующее:

, когда вы определяете узлы как перетаскиваемые, установите для их параметра возврата значение true.Это означает, что они вернутся в свое существующее положение.

Затем измените функциональность ondrop так, чтобы он добавлял источник к узлу, на который вы нацеливаетесь, как в источнике демонстрации перетаскивания

onDrop:function(e,source){
                    if ($(source).hasClass('assigned')){
                        $(this).append(source);
                    } else {
                        var c = $(source).clone().addClass('assigned');
                        $(this).empty().append(c);
                        c.draggable({
                            revert:true
                        });
                    }
                }

В основном это означает, что ваш узел будет возвращен в исходное положение после того, как перетаскивание остановлено, но где бы вы ни остановили перетаскивание, узел будет клонирован и добавлен, а также снова станет перетаскиваемым.

...