找回密码
 立即注册

QQ登录

只需一步,快速开始

liuwei19840201

中级会员

28

主题

67

帖子

504

积分

中级会员

积分
504

微信认证勋章

liuwei19840201
中级会员   /  发表于:2020-7-29 08:02  /   查看:3289  /  回复:4
版本 Spead11 for winform
环境 vb.net4.7以上  win10

动作:我从excel文件中,选择一个单元格(并没有进入Excel单元格的编辑状态,而是直接选中单元格),进行复制(摁下ctrl+c)。
然后选择Spread单元格(单元格的类型是GcTextBox,允许输入回车),进入编辑状态,我进行粘贴(摁下ctrl+v)。

问题:
粘贴到Spead中的内容包含了一个回车符号,问如何删除(理想的方案是通过某种设定,或者实装某种事件,或者实装某种接口等)。

例子:
①Excel单元格的内容是:  123456
选中单元格后window系统剪切板中的内容是:"123456" + vbcrLf
现状: 粘贴到Spread中的内容是 "123456" + vbcrLf
期望: 粘贴到Spread中的内容是 "123456"

②Excel单元格的内容是:  123 + vbcrLf+ 456
选中单元格后window系统剪切板中的内容是:"123 + vbcrLf+ 456" + vbcrLf
现状: 粘贴到Spread中的内容是 "123 + vbcrLf+ 456" + vbcrLf
期望: 粘贴到Spread中的内容是 "123 + vbcrLf+ 456"

vbcrLf指一个换行符号,例:
描述是
123 + vbcrLf+ 456
实际是   
123
456

补充,该问题的提出原因是,在Spread7 Active版本中, 最后多余的vbcrLf 是不会被复制到Spead中的。上面描述的期望动作,实际是Spread7 Active版本的操作结果
不希望通过逻辑代码,强制去掉最后的换行符。

4 个回复

倒序浏览
liuwei19840201
中级会员   /  发表于:2020-7-29 09:40:52
沙发
补充下我的调查结果
Spead11中,非编辑模式下,粘贴的结果,和Spread Active(我的期望结果)是一样的(多余的最后换行被去除了)。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-29 10:01:47
板凳
你好,你说的这个小问题应该是在新版本中已经没有了,我在V13上做了测试剪切板中的数据确实是包含换行符的,但是粘贴到spread单元格后不管原始数据是一行还是多行,最后一行结束都没有出现换行,建议你用新版本测试验证一下
回复 使用道具 举报
liuwei19840201
中级会员   /  发表于:2020-7-29 11:07:03
地板
购买的V11版本有这个问题的话,能不能帮忙调查下原因?或者到在变更到V13的过程中怎样的修正,回避了该问题?
另外,在V11当中,编辑模式下,设置inputmap,追加F2按键为粘贴动作(clipboardPaseAll等),均无效,无法将内容进行粘贴,是什么原因?如何回避?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-7-29 11:39:49
5#
您好,目前我们只能以V13最新版本验证问题,期间的修正是控件内部封装的。这个你也没有办法来实现。建议你升级新版本来规避问题

第二个问题,我使用V13版本也验证了,通过如下代码,快捷键效果没有问题
  1.             InputMap imp = fpSpread1.GetInputMap( InputMapMode.WhenAncestorOfFocused);
  2.             imp.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), SpreadActions.ClipboardPasteAll);
  3.             fpSpread1.SetInputMap(InputMapMode.WhenAncestorOfFocused, imp);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部