5.3. Перетаскивание (Drag & Drop) строк списка мышью#

Между фреймами содержащими список или древовидный список возможно организовать перетаскивание элементов (Drag & Drop). Возможность перетаскивания определяется свойствами фреймов

New in version 1.20.0_rc21.

5.3.1. Свойства фреймов#

dragDrop.rows.isDragEnabled

dragDrop.rows.isDropEnabled

5.3.2. События фреймов#

В процессе перетаскивания в выборке срабатывают следующие события (вызываются операции-тригеры, если они существуют в выборке):

onDragOver

onDragDrop

5.3.3. Свойства списочного представления#

5.3.4. Пример использования Drag & Drop#

Пример операции onDragOver#
def onDragOver(): Unit = {
  val listView = layout.frame.view.asListView
  val dragStartColumnName = listView.dragObject.getFocusedFieldName
  listView.canAcceptDragObject = dragStartColumnName.equals(listView.dragRecordColumnName)
}
Пример операции onDragDrop#
def onDragDrop(): Unit = {
  val dropRecord = layout.frame.view.asListView.dragRecord
  var message = s"Drag id = ${layout.frame.view.asListView.dragObject.getVar("ID")}\nDrop id = "
  if (dropRecord != null) {
    message += s"${layout.frame.view.asListView.dragRecord.getValueByName("ID")}"
  } else {
    message += "null"
  }
  dialogs.showMessage(message)
}