复制到剪贴板时,DataGridView的精度翻倍

时间:2019-01-10 11:29:51

标签: c# winforms datagridview

我正在使用DataGridView显示一个双精度数组。 (数组的大小没有限制)

我故意不向用户显示每个双精度数的每个小数位,而是将单元格的格式设置为:

dataGridView.Columns[i].DefaultCellStyle.Format = "f3";

因此,值1.112233将显示为“ 1.112”。

但是,将选定的单元格复制到剪贴板并粘贴到Excel中时,我只能获得显示的精度。我想知道是否有一种简单的方法可以指定我要将单元格 Value 复制到剪贴板,而不是 FormattedValue

请注意,我不仅限于复制单个单元格,我希望用户能够复制多个单元格,即

dataGridView.MultiSelect = true;
dataGridView.SelectionMode = DataGridViewSelectionMode.CellSelect;

调试时,我已验证单元格上的 Value 属性确实包含原始的double。

我指定了 ValueType 为双精度型。

我试图通过按键事件覆盖Ctrl + C命令,然后将所选单元格手动输出到剪贴板。但是,dataGridView.SelectedCells中单元格的顺序不一定与选择它们的顺序匹配。例如,当选择两个相邻的小区时,它们的顺序似乎已经被任意颠倒了。例如,在第0列中选择一个值,然后在第1列中选择一个值,dataGridView.SelectedCells中的顺序是第1列,然后是第0列。

感觉很费力,而且效率太低,以至于在手动复制到剪贴板之前必须手动将它们重新分类为明智的顺序。

有没有简单的方法可以做到这一点,还是我只需要把精力放在手工副本上?

0 个答案:

没有答案