参见例子:…privateSel : Boolean ;//判断是否处于选择状态
BookMark : TBookMark ;//记录先前的位置…procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var SelNo:integer ;//记录当前位置beginif ( Button = mbLeft ) then
if sel = false then//非选择状态,记录当前位置beginBookMark := Table1.GetBookmark ;
Sel := true ;exit ;endelse //选择状态
if Shift = [ssShift] thenbegin//遍历所有从先前位置开始到当前位置之间的记录并标记
SelNo := DBGrid1.DataSource.DataSet.RecNo ;
DBGrid1.DataSource.DataSet.DisableControls ;
DBGrid1.DataSource.DataSet.GotoBookmark(BookMark);
DBGrid1.SelectedRows.CurrentRowSelected := true ;
if SelNo<DBGrid1.DataSource.DataSet.RecNo then
while SelNo<DBGrid1.DataSource.DataSet.RecNo dobeginDBGrid1.SelectedRows.CurrentRowSelected := true ;
DBGrid1.DataSource.DataSet.Prior ;endelsewhile SelNo DBGrid1.DataSource.DataSet.RecNo dobeginDBGrid1.SelectedRows.CurrentRowSelected := true ;
Sel := false ;end ;end;虽然效果不十分理想,但足以完成要求。

怎样让DBGrid在按住Shift点鼠标的同时能将连续范围的多行选中?的更多相关文章

  1. Qt 获取组合键 键盘按住某键 鼠标组合实现

    #include "mainwindow.h" #include <QDebug> #include <QKeyEvent> #include <QM ...

  2. 更新到PS CC 2019 缩放的时候 按住shift变成不规则缩放了 反而不按住shift是等比例缩放

    更新到PS CC 2019 缩放的时候 按住shift变成不规则缩放了 反而不按住shift是等比例缩放 更新到PS CC 2019 缩放的时候 按住shift变成不规则缩放了 反而不按住shift是 ...

  3. Day10 - JS 实现 Checkbox 中按住 Shift 的多选功能

    Day10 - JS 实现 Checkbox 中按住 Shift 的多选功能 作者:liyuechun 简介:JavaScript30 是 Wes Bos 推出的一个 30 天挑战.项目免费提供了 3 ...

  4. 按住CTRL多选,按住shift连选的实现

    <tr class="address" v-for="(counts, index) in counts" :key="index" ...

  5. 如何在DBGrid里实现Shift+“选择行”区间多选的功能!

    DELPHI 的TDBGrid 控 件 主 要 用 来 处 理 数 据 表, 它 的 属 性 中 有 一 个dgMultiSelect, 若 此 属 性 设 定 为TRUE, 则 可 以 选 中 多  ...

  6. D3.js v4版本 按住shift键框选节点demo

    http://download.csdn.net/download/qq_25042329/10139649

  7. 双击易语言没有反应,按住shift再双击可解决

    参考资料:http://tieba.baidu.com/p/2987732743 的7楼.

  8. 当鼠标经过表格数据行时颜色不同且奇偶行颜色也不同 (纯CSS)

    <!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Prope ...

  9. Chrome调试中的奇技淫巧

    网上有关Chrome调试的文章一搜一大堆,本文主要记录一下自己平时经常用并且又比较冷门的一些技巧. 打开Chrome调试工具 1.打开控制台的情况下,长按页面的“刷新”按钮可以选择按何种方式刷新(有正 ...

随机推荐

  1. webpack4升级extract-text-webpack-plugin和UglifyJsPlugin问题

    webpack4升级extract-text-webpack-plugin和UglifyJsPlugin问题 1.  使用了extract-text-webpack-plugin插件后,编译出错,代码 ...

  2. kubernete 数据库 etcd

    etcdctl --cert-file /etc/ssl/etcd/ssl/member-pserver78.pem --key-file /etc/ssl/etcd/ssl/member-pserv ...

  3. http一次请求过程

    物理层:支持底层网络协议: 其中网络层支持IP协议: 传输层支持TCP协议,它是面向连接的: 应用层支持 http,ftp  tftp,SMTP,DHCP协议 一个完整的http请求过程: 1.浏览器 ...

  4. java通过反射拷贝两个对象的同名同类型变量

    深拷贝和浅拷贝 首先对象的复制分为深拷贝和浅拷贝,关于这两者的区别,简单来说就是对于对象的引用,在拷贝的时候,是否会新开辟一块内存,还是直接复制引用. 两者的比较也有很多,具体可以看这篇文章: htt ...

  5. MySQL调优基础, 与hikari数据库连接池配合

    1.根据硬件配置系统参数 wait_timeout  非交互连接的最大存活时间, 10-30min max_connections   全局最大连接数 默认100 根据情况调整 back_log   ...

  6. [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

    测试mysqld启动mysql server的时候,报如下错误: 2015-12-17 00:46:02 10785 [ERROR] Fatal error: Please read "Se ...

  7. vue项目环境搭建

    安装node.js $ npm install -g vue-cli $ vue init webpack my-project ?Project name ?Project description ...

  8. vue element-ui 动态上传

    上传填写完毕的幼儿及体测数据文件,上传成功后会自动导入该文件的数据 <el-upload :action="UploadUrl()" :on-success="Up ...

  9. 安装Visual Studio 2013以及简单使用

    首先,在网上找到安装Visual Studio 2013的教程以及相关软件资源http://jingyan.baidu.com/article/09ea3ede3b2496c0afde3944.htm ...

  10. 个人博客作业-Week7

    团队任务中个人感想 我们团队选的题目是爬虫, 采用用AVA平台开发了, 我原来JAVA语言不熟悉了, PM考虑这部分之后分配任务这部分感觉很多谢 团队当中的PM很清楚每个组员的力量, 所以PM跟每个组 ...