Удобное копирование/вставка скрытых данных

Я использую Handsontable с объектами в качестве резервной копии данных. Данные выглядят примерно так:

[
  { productId: 1, productName: "Shirt", productType: "Clothing" }
  { productId: 2, productName: "Pants", productType: "Clothing" }
]

Конфигурация колонок Handsontable выглядит так:

columns: [
  { data: "productName" },
  { data: "productType" }
]

Таким образом, поле productId не включается в таблицу, или, другими словами, столбец productId скрыт.

Когда пользователь выделяет строку в таблице и нажимает Ctrl+C, а затем Ctrl+V в другой строке, в новую строку переносятся только productName и productType. productId не копируется, а хочется. Как заставить Handsontable копировать скрытые данные в дополнение к видимым данным?

Я рассмотрел возможность включения поля productId в таблицу, но скрыл его с помощью css. Раньше это был единственный способ скрыть данные в Handsontable, как вы можете видеть в этой теме. Но ни одно из этих решений, кажется, не работает очень хорошо. Я также рассматривал возможность изменения того, что копируется, с помощью события beforeCellCopy, как в этой теме. Но это очень хакерский и уродливый способ решить эту проблему. Любые другие идеи?


person Aaron    schedule 29.08.2015    source источник
comment
Вы можете привязать метод toString ко всем своим объектам, я сделал это, но теперь не могу вставить данные. Тоже пытаюсь разобраться.   -  person Zia Ul Rehman Mughal    schedule 10.11.2016


Ответы (1)


Итак, я полагаю, вы хотите скопировать и вставить его за пределы Handsontable. Это означает, что вы хотите добавить содержимое в буфер обмена сверх того, что обычно делает событие CTRL+C. Это означает, что вы должны злиться в любом случае, поэтому событие beforeCellCopy звучит как идеальная идея.

Единственное, что вы можете сделать, это самостоятельно зафиксировать событие нажатия клавиши, остановить распространение и использовать плагин буфера обмена для отправки ему любых данных, которые вы хотите. Этот может быть чище, но он требует работы с плагином буфера обмена.

person ZekeDroid    schedule 04.09.2015