找回密码
 立即注册

QQ登录

只需一步,快速开始

tengye1984

高级会员

3

主题

7

帖子

1879

积分

高级会员

积分
1879

活字格认证

最新发帖
tengye1984
高级会员   /  发表于:2012-8-20 14:16  /   查看:5788  /  回复:4
现在GRID上有N行数据,我想把第一行中的某一个单元格的数据COPY到第二行某一个单元格的内,
当前光标在第一行的某个单元格上,键盘按CTRL+C
鼠标点到第二行的某单元格后,按CTRL+V,
现在的现象是:第一行一整行的数据都COPY到第二行上了,是什么原因,是哪个属性设置错误了么,请解答,谢谢.

4 个回复

倒序浏览
tengye1984
高级会员   /  发表于:2012-8-20 14:47:00
沙发
补充,刚才又下了一个,当第一行选中的时候行变色了,表示这一行被选中了,所以整行数据都COPY下来了,应该是这个原因吧.
我想要的效果是,实现上面问题的效果的同时,在后台FpSpdSheet1.SelectionCount这个属性的时候,也可以得到是哪一行被选中了.谢谢
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-20 14:50:00
板凳
你在【Ctrl + C】时,是不是这一行都处于选中状态,或者设置过以下属性:
  1. fpSpread1.ActiveSheet.SelectionUnit = FarPoint.Win.Spread.Model.SelectionUnit.Row;
复制代码
回复 使用道具 举报
tengye1984
高级会员   /  发表于:2012-8-20 14:53:00
地板
是的,选中后有行变色,是选中的状态,我在后台要得到是否有被选中,选中的是第几行.
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-8-20 16:40:00
5#
Spread中选中一行时,就是复制所有选中单元格的数据,如果有这样的特殊需求,可以自定义复制行为,比如通过下面的代码:
  1.     private void fpSpread1_KeyDown(object sender, KeyEventArgs e)
  2.     {
  3.         if (e.Control && e.KeyCode == Keys.C)
  4.         {
  5.             e.Handled = true;
  6.             fpSpread1.ActiveSheet.ClipboardCopy(new FarPoint.Win.Spread.Model.CellRange(fpSpread1.ActiveSheet.ActiveRowIndex, fpSpread1.ActiveSheet.ActiveColumnIndex, 1, 1), FarPoint.Win.Spread.ClipboardCopyOptions.Values);
  7.         }
  8.     }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部