学院首页 软件应用 编程开发 创意设计 认证培训 软件论坛
ASP ASP.NET PHP JSP SQL MYSQL Java VB

您的位置:学院 >> 编程开发 >> Delphi >> 在DBGrid中实现Copy、Paste功能


在DBGrid中实现Copy、Paste功能


 」ぞ咛跎系腃ut、Copy和Paste加速按钮,对于使用Windows下编辑器的人来说,恐怕都是非常熟悉而且不可缺少的。Delphi中的有些控件,如:TDBEdit、TDBImage、TDBMemo、TEdit等,具有CutToClipboard、CopyToClipboard和PasteFromClipboard方法,在这些控件上,利用这几个方法,只要通过简单的编程,就可以实现上述加速按钮。但TDBGrid控件却不提供上述方法,无法直接实现这几种功能。而在单机的数据库应用程序中,TDBGrid却经常被用来进行数据(包括数字和文字)的输入,没有Copy和Paste功能,使用起来深感不便。笔者在编程过程中,利用中间控件进行“过渡”,间接地实现了这几种功能。

  主要思路:既然TDBGrid控件无法直接实现Copy和Paste编辑功能,则可以将TDBGrid控件中需要进行这几种编辑的字段(Field)的内容,转移到具备这几种功能的控件(以TDBEdit为例)中去,编辑完毕后,再传回到TDBGrid中。

  具体方法:在已设计好的包含有TDBGrid控件(设名为DBGrid1)的窗体中,增加一个TDBEdit(设名为DBEdit1)控件,其DataSources属性设为与DBGrid1的DataSources属性相同,对DBGrid1控件的OnColEnter事件编程,使DBEdit1的DataField属性值等于DBGrid1控件的被选择字段的字段名。再在窗体中增加两个快速按钮:Copy和Paste,图形可选Delphi子目录下ImagesιButtons子目录里的Copy.bmp和Paste.bmp。对Copy快速按钮的OnClick事件编程:
  DBEdit1.CopyToClipboard;

  对Paste快速按钮的OnClick事件编程:
  DBEdit1.PasteFromClipboard;
  DBGrid1.SelectedField.AsString:=DBEdit1.Text;

  此时,如果DBGrid1中的某一单元Cell数字需要粘贴另一单元Cell2的部分或全部内容,用鼠标单击选择Cell2,此时DBEdit1所显示的内容与Cell2的内容相同。在DBEdit1中用鼠标拖曳选择部分或全部内容,单击Copy快速按钮;再用鼠标单击选择Cell,此时DBEdit1所显示的内容与Cell相同,在DBEdit中欲粘贴刚才所选内容的位置插入光标,单击Paste快速按钮,则刚才所选内容插入到光标位置,Cell的内容也随之改变成插入后的内容,由此完成了一次Copy—Paste操作。

  用这种方法实现Copy—Paste操作,比正常的操作多了一次鼠标的键击、两次鼠标的移动。在重复输入的内容不多,且操作者键盘输入很快很熟练的情况下,这种实现Copy—Paste的方法,意义似乎不大。但如果应用程序的使用者是那些并没有掌握某种快 淖质淙爰记伞⒑苡锌赡芑乖谑褂闷匆羰淙敕ǖ娜耍绻褂谜叨哉5腃opy—Paste方法本来就不熟练(则感觉不到这种方法的不合常规),且又非常地善于在一长串的同音字里翻来翻去地寻找的话,这还是一种不错的方法。如果哪位读者有能在TDBGrid中实现常规Copy—Paste操作的方法,请不吝赐教。

  以下是有关的程序代码:
  procedure TUnitDetail.DBGrid1ColEnter(Sender:TObject);
  begin
  case DBGrid1.SelectedIndex of
  0:DBEdit1.DataField:=Unit?Num;
  1:DBEdit1.DataField:=UnitName;
  2:DBEdit1.DataField:=Header;
  3:DBEdit1.DataField:=Address;
  4:DBEdit1.DataField:=Tel;
  end;
  end;

  
  procedure TUnitDetail.SBCopyClick(Sender:TObject);
  begin
  DBEdit1.CopyToClipboard;
  end;

  procedureTUnitDetail.SBPasteClick(Sender:TObject);
  begin
  DBEdit1.PasteFromClipboard;
  DBGrid1.SelectedField.AsString:=DBEdit1.text;
  end;


技术文章快速查找

栏目导航
软件应用
·操作系统 ·杀毒防黑 ·应用软件
·聊天软件 ·网络软件  
Web开发
·ASP ·JavaScript ·CGI
·JSP ·VbScript ·Web服务器
·PHP ·XML  
开发语言
·VB ·VC ·ASP.NET
·Java ·C/C++ ·Delphi
数据库开发
·MySQL ·SQL/Access ·PowerBuilder
·Oracle ·DB2  
网站设计
·Flash ·Dreamweaver ·HTML/CSS
·Fireworks ·FrontPage  
平面设计
·Photoshop ·CorelDraw ·AutoCAD
·FreeHand ·Illustrator ·3DsMAX
媒体动画
·Director ·Authorware ·Maya
·视频处理    


相关软件 产品库推荐
·笔记本 ·台式机 ·服务器
·数码相机 ·手机 ·GPS
·DV摄像机 ·MP3 ·MP4
·CPU ·硬盘 ·内存
·主板 ·显卡 ·显示器
·打印机 ·投影机 ·路由器

还没人留言,抢个先,哈哈!
对"在DBGrid中实现Copy、Paste功能"的评论 - 快速回贴
内容:
  [完成后可按Ctrl+Enter发布]

百度中 在DBGrid中实现Copy、Paste功能 相关内容
Google搜索中 在DBGrid中实现Copy、Paste功能 相关内容
雅虎中 在DBGrid中实现Copy、Paste功能 相关内容
Sogou搜索中 在DBGrid中实现Copy、Paste功能 相关内容

相关软件 最新回复帖子:

·Windows Vista 中卸载软件的不同方式
·没有mysql支持时的替代方案
·一个可以发送附件及HTML格式邮件的PHP类
·AutoCAD打造精致三维鸟笼实例详解
·Photoshop自定义水晶字特效样式
·AutoCAD三维基础实例教程
·PS为黑背景长发美女照片抠图换背
·用Photoshop自制个性摩托车贴花小经验
·轻松几步将美女照片处理为手工素描
·巧用Photoshop画笔轻松绘制创意特效


  相关软件 在DBGrid中实现Copy、Paste功能相关文章
用Delphi编程访问SQLServer数据库 在Delphi动态生成定义数据库
Delphi筛选数据 用DELPHI 3.0制作应用软件经验谈
Delphi中数据文件路径的管理 Delphi中建表
如何实现在一个Dbgrid中显示多数据库 为Delphi数据表格增加彩色
建立应用软件注册安全机制 在Delphi中自动检测、建立数据库别名和表格
在Delphi程序中维护DBF数据库 用Delphi 开发数据库程序经验三则
在Delphi的DBGrid中插入其他可视组件 Delphi3数据库编程中的查找字段
Delphi数据库开发及统计表格设计 用Delphi4的QReport部件生成报表
也谈为Delphi中数据库报表加网格 在Dephi中使用TStream读写数据的技巧
Delphi中的消息处理 在DEPHI程序中使用ADO对象存取ODBC数续