WPF Devexpress 18.2 Grid /Tableview Paste 只粘贴242列
WPF Devexpress 18.2 Grid /Tableview Paste pastes only 242 columns
我正在使用生成动态列的 WPF Devexpress GridControl。 UI 从年份(比如 2020 年到 2070 年),每月一列呈现所有列。因此,我正在尝试从 excel 复制值,该行的值从 2020 到 2061,大约为 500 values/cells。但是默认的 TableView.OnPaste() 只复制 242 个单元格。我尝试了各种方法来弄清楚为什么会这样?但是没用。
我禁用了虚拟化,尝试一直滚动以确保列已呈现一切都在那里,另一件有趣的事情是:
TableView 事件:ClipboardRowCellValuePasting=void OnClipboardRowCellValuePasting(对象发送者,ClipboardRowCellValuePastingEventArgs e)
为所有 500 个单元格调用此事件,但在 242 个单元格之后,值被消隐。所以它肯定在粘贴实现中它在一定限制后将值设置为 null。
那么有人可以建议如何解决这个问题吗?
来自 Devex 的回答
为避免此缺点,有必要使用 SourcePriority 属性 更改剪贴板源优先级,如下所示:
ClipboardSourceFactory<ColumnWrapper, RowBaseWrapper>.SourcePriority = new ClipboardSourceType[]
{
ClipboardSourceType.XMLSpreadsheet,
ClipboardSourceType.Excel,
ClipboardSourceType.Csv,
ClipboardSourceType.UnicodeText,
ClipboardSourceType.Text
};
我正在使用生成动态列的 WPF Devexpress GridControl。 UI 从年份(比如 2020 年到 2070 年),每月一列呈现所有列。因此,我正在尝试从 excel 复制值,该行的值从 2020 到 2061,大约为 500 values/cells。但是默认的 TableView.OnPaste() 只复制 242 个单元格。我尝试了各种方法来弄清楚为什么会这样?但是没用。
我禁用了虚拟化,尝试一直滚动以确保列已呈现一切都在那里,另一件有趣的事情是:
TableView 事件:ClipboardRowCellValuePasting=void OnClipboardRowCellValuePasting(对象发送者,ClipboardRowCellValuePastingEventArgs e)
为所有 500 个单元格调用此事件,但在 242 个单元格之后,值被消隐。所以它肯定在粘贴实现中它在一定限制后将值设置为 null。
那么有人可以建议如何解决这个问题吗?
来自 Devex 的回答
为避免此缺点,有必要使用 SourcePriority 属性 更改剪贴板源优先级,如下所示:
ClipboardSourceFactory<ColumnWrapper, RowBaseWrapper>.SourcePriority = new ClipboardSourceType[]
{
ClipboardSourceType.XMLSpreadsheet,
ClipboardSourceType.Excel,
ClipboardSourceType.Csv,
ClipboardSourceType.UnicodeText,
ClipboardSourceType.Text
};