社区
数据库相关
帖子详情
如何在DBGrid里实现Shift+“选择行”区间多选的功能!
xiaoshitou
2003-06-12 07:46:02
类似于Windows中使用Shift实现多选的功能!
...全文
143
19
打赏
收藏
如何在DBGrid里实现Shift+“选择行”区间多选的功能!
类似于Windows中使用Shift实现多选的功能!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
JustJune
2003-09-13
打赏
举报
回复
我有个想法,可不可以让程序模拟系统处理CTRL+鼠标单击的事件来处理呀,但我还不是很清楚程序模拟系统事件是怎么具体实现的,我想这个一定可以的!请各位高手试试看!
zhp97
2003-06-27
打赏
举报
回复
用二公共变量记录开始选中记录与最终选中记录,然后在DrawCell事件中给两行之间的行加上点颜色,表示被选中。
鄙人从干过这样的事,做起来要控制的细微点
rola
2003-06-27
打赏
举报
回复
关注,我很想实现这个功能
xiaoshitou
2003-06-24
打赏
举报
回复
没有更好的办法了吗??
nnwq
2003-06-19
打赏
举报
回复
记好上一次选择的记录,当按Shift并点选择记录后,则将上一次先的记录号开始逐条加入书签。
xiaoshitou
2003-06-16
打赏
举报
回复
onclick事件中判断Shift是否按下,之后还要记录起始记录的位置和结束记录的位置,然后计算之间的所有记录,并使这些记录被选种,这似乎有些烦琐。我想知道是否有比这样用代码实现更简洁的方法,因为这个功能在平时是个挺常用的一个功能。
zjy6631
2003-06-13
打赏
举报
回复
同意things(平) (男儿在他乡,焉得不憔悴!) ,简洁!
xiaoshitou
2003-06-13
打赏
举报
回复
的确,我所要实现的功能即suton(suton) 所说的,因为压住ctrl选择一条一条的点太费劲了,有时可能遇到上白条记录需要选择。所以想找一个简单的可以多选的方法。
suton
2003-06-13
打赏
举报
回复
在onclick事件裡面判斷shift鍵是否被按下?
fandy
2003-06-13
打赏
举报
回复
关注,我也想实现这个功能
sduzjw
2003-06-12
打赏
举报
回复
判断一下SHIFT键按下没有,再选中出两次鼠标点击的记录不就行了吗
suton
2003-06-12
打赏
举报
回复
拜托啊,弄清楚問題先啊
things
2003-06-12
打赏
举报
回复
DBgrid-->Options-->dgMutiSelect=True
李_军
2003-06-12
打赏
举报
回复
dgMutiSelect隻能通過CTRL一次加多一條
suton
2003-06-12
打赏
举报
回复
倒~~~,這個網上經常看倒啊,但是樓主是要實現"多選的方式",即,先選定一條記錄做為開始的記錄,然後按住shift,再選擇另外一條,那麼,就需要兩次鼠標點擊的兩筆記錄之間的記錄全部被選定(包含這兩筆記錄)
lovelymelon
2003-06-12
打赏
举报
回复
对
luo521
2003-06-12
打赏
举报
回复
DELPHI 的TDBGrid 控 件 主 要 用 来 处 理 数 据 表, 它 的 属 性 中 有
一 个dgMultiSelect, 若 此 属 性 设 定 为TRUE, 则 可 以 选 中 多 个 记 录
( 可 用CTRL + 鼠 标 左 键 选 择 多 个 记 录)。 对 选 中 的 多 个 记 录
可 以 有 以 下 几 种 处 理 方 式, 比 较 简 单 的 两 种 是: 清 除 所 有
的 选 择 记 录 可 用DBGrid1.SelectedRows.Clear 语 句; 删 除 所 有 的 选
择 记 录 可 用DBGrid1.SelectedRows.Delete 语 句。 但 如 果 想 获 得 选 中
的 所 有 记 录 的 其 他 信 息, 比 如, 在 单 独 的 一 个 窗 体 中 显 示
用 户 选 择 的 记 录 的 第 一 个 字 段 的 内 容( 如 所 有 选 择 的 姓 名)
如 何 处 理 呢 ? 这 就 要 使 用 书 签 功 能 了, 下 面 是 笔 者 编 写 的
一 个 程 序 中 的 过 程, 用 来 将 用 户 选 择 的 多 个 记 录 集 中 显 示
在 另 外 一 个 窗 体 中( 笔 者 使 用 的 是DELPHI4), 供 参 考 使 用。
procedure GetSelectedRecord
(DataSet : TDataSet; FieldName : String;
BookmarkList : TBookmarkList; Strings : TStrings);
file://这个过程中的参数分别为:数据表、字段名称、
书签、用来保存所选字段内容的
file://字符串(用于将内容传递到另
一个单独窗体中的TLIST控件中)
var
I: Integer;
bm : TBookMark;
begin
Strings.Clear;
with Dataset do begin
DisableControls;
bm := GetBookMark;
try
file://每个选择的记录都有一个书签标志,
这就为处理它们提供了条件
for I := 0 to BookmarkList.Count - 1 do begin
Bookmark := BookmarkList[I];
Strings.Add(DataSet.FindField(fieldname).AsString);
end;
finally
GotoBookMark(bm);
FreeBookMark(bm);
EnableControls;
end;
end;
end;
调用举例:
GetSelectedRecord(Table1, 'NAME', DBGrid1.SelectedRows,
Form2.ListBox1.Items
suton
2003-06-12
打赏
举报
回复
沒有,裡面隻有dgMutiSelect是實現多選的,不過隻能通過CTRL一次加多一條.
sixgj
2003-06-12
打赏
举报
回复
在option属性里看看,关于它多选的属性都在那里了。
利用ADO和
DBGrid
实现
VisualC++对SQL数据库的访问
利用ADO和
DBGrid
实现
VisualC++对SQL数据库的访问,简单易用,有详细说明。
delphi
DBGrid
双击多
选
行
解决delphi鼠标双击
DBGrid
双击不能多
选
行
的问题,代替Ctrl+鼠标左键
delphi下
实现
dbgrid
导出多
选
的
行
的数据保存为Excel
实现
了
DBGrid
的三方控件带有多
选
框的导出, 防止出现科学计数法,
实现
导出Excel列的自适应。 可以关闭保存Excel时弹出的提示框(文件已经存在是否覆盖)
Delphi7之ADO组件+
DBGrid
增删改查
Delphi7之ADO组件+
DBGrid
增删改查!Delphi7之ADO组件+
DBGrid
增删改查!
ADO
实现
数据回滚事物+
DBGrid
选
中多
行
处理
1.QQ:513187410 2.保证无毒 3.简单,方便,实用 4.实例可以自
行
改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用!
数据库相关
2,498
社区成员
88,445
社区内容
发帖
与我相关
我的任务
数据库相关
Delphi 数据库相关
复制链接
扫一扫
分享
社区描述
Delphi 数据库相关
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章