找回密码
 立即注册

QQ登录

只需一步,快速开始

zxc9089
中级会员   /  发表于:2015-11-11 10:17  /   查看:13217  /  回复:5
WPF   C1DataGrid如何设置能够复制选中的单元格内的文本内容? SingleRow 的情况下复制的都是复制整行。SingleCell确实可以复制选中单元格,但是在界面上显示的选中背景色却只是覆盖在单一单元格上。

我期望的效果是选中效果还是以单行的形式,但是复制的时候是复制单击选中的单元格内容,不知有没有好的办法解决这个问题?

5 个回复

倒序浏览
KNight
中级会员   /  发表于:2015-11-11 11:28:00
沙发
回复 1楼zxc9089的帖子

直接处理组合键Ctrl+C的操作即可

  1. private void grid_KeyDown(object sender, KeyEventArgs e)
  2. {
  3.         if (e.KeyboardDevice.Modifiers == ModifierKeys.Control && e.Key == Key.C)
  4.         {
  5.                 if (grid.CurrentCell != null)
  6.                 {
  7.                         var a = grid.CurrentCell.Value;
  8.                         e.Handled = true;// 如果该单元可编辑,防止键入“C”
  9.                         MessageBox.Show("复制内容:" + a);
  10.                 }
  11.         }
  12. }
复制代码

评分

参与人数 1金币 +999 收起 理由
Alice + 999 奖励金币

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-12 09:34:00
板凳
回复 1楼zxc9089的帖子

非常感谢@KNight的回复。
如果解决了,此问题关闭。
如果依然有问题,欢迎提出来
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
zxc9089
中级会员   /  发表于:2015-11-12 11:42:00
地板
感谢,问题初步解决,就是在复制的过程中如果单元格数据内容为非字符串类型存入剪贴板时会出现问题,具体细节我再看看
回复 使用道具 举报
zxc9089
中级会员   /  发表于:2015-11-12 11:47:00
5#
已解决,代码更改如下:

  1. public RelayCommand<KeyEventArgs> GridKeyDownCopyCommand
  2. {
  3.     get
  4.     {
  5.         return new RelayCommand<KeyEventArgs>(e =>
  6.         {
  7.             var grid = e.Source as C1DataGrid;
  8.             if (grid != null &amp;&amp; e.KeyboardDevice.Modifiers == ModifierKeys.Control &amp;&amp; e.Key == Key.C)
  9.             {
  10.                 if (grid.CurrentCell != null)
  11.                 {
  12.                     string data = grid.CurrentCell.Text;
  13.                     Clipboard.SetDataObject(data, false);
  14.                     e.Handled = true;// 如果该单元可编辑,防止键入“C”
  15.                 }
  16.             }
  17.         });
  18.     }
  19. }
复制代码

评分

参与人数 1满意度 +5 收起 理由
KNight + 5 Very nice!

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-11-12 12:21:00
6#
回复 5楼zxc9089的帖子

非常感谢您的反馈。
非常赞的能力和反馈给其他用户做参考。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部