WPF Dev express 18.2 Grid / Tableview Paste вставляет только 242 столбца - PullRequest
0 голосов
/ 08 июля 2020

Я использую WPF Dev express GridControl с динамическими c столбцами. Пользовательский интерфейс отображает все столбцы по одному столбцу в месяц по годам (скажем, с 2020 по 2070 год). Поэтому я пытаюсь скопировать значения для строки из excel, которая имеет значения от 2020 до 2061, что составляет примерно 500 значений / ячеек. Но по умолчанию TableView.OnPaste () копирует только 242 ячейки. Я пробовал разными способами выяснить, почему? Но бесполезно.

Я отключил виртуализацию, попытался прокрутить до конца, чтобы убедиться, что все столбцы отображаются, и еще одна интересная вещь:

TableView Evnent: ClipboardRowCellValuePasting = void OnClipboardRowCellValuePasting (object отправитель, ClipboardRowCellValuePastingEventArgs e)

это событие вызывается для всех 500 ячеек, но после 242 ячеек значения очищаются. Так что в реализации вставки определенно устанавливается значение null после определенного предела.

Так может ли кто-нибудь подсказать, как это исправить?

1 Ответ

0 голосов
/ 24 июля 2020

Ответ от Devex

Чтобы избежать этого недостатка, необходимо изменить приоритет источника буфера обмена с помощью свойства SourcePriority следующим образом:

ClipboardSourceFactory<ColumnWrapper, RowBaseWrapper>.SourcePriority = new ClipboardSourceType[]
{
    ClipboardSourceType.XMLSpreadsheet,
    ClipboardSourceType.Excel,
    ClipboardSourceType.Csv,
    ClipboardSourceType.UnicodeText,
    ClipboardSourceType.Text
};
...