起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 365|回复: 21

【结】[请求] 如何实现类似web邮箱的邮件多选功能?

[复制链接]
发表于 2008-12-29 13:56:07 | 显示全部楼层 |阅读模式
目前实现了多选功能,但是是放在邮件单击事件里面,即选中邮件同时,选中邮件。

用户提出需实现类似163邮箱的邮件多选功能,即点击第一列的复选框时,才选中邮件,查看邮件或点击邮件标题不影响邮件的选中状态。

因为邮件列表用的glMail: TGroupList 控件,在第一列增加一个Chedkbox 已经实现(http://bbs.justep.com/forum.php?mod=viewthread&tid=26716),但发现有以下两个问题:
1. 邮件除了选择列之外的其他属性也处于可编辑状态,如发件人、邮件标题等;
2. 点击第一列的Checkbox必须点击3次才能改变邮件的选中状态,第一次选中邮件,第二次使checkbox 处于编辑状态,第三次改变checkbox 的值。

现在在现有控件基础上无法实现题目的需求。

多选问题.jpg

24.41 KB, 下载次数: 119

回复

使用道具 举报

发表于 2008-12-29 14:04:09 | 显示全部楼层
楼主,请问现在是用什么控件表现的邮件列表
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-29 15:05:52 | 显示全部楼层
原邮件库的控件,应该是 GroupList 控件。
回复 支持 反对

使用道具 举报

发表于 2008-12-29 15:42:36 | 显示全部楼层
1.除了你后来添加的复选按钮那列,其它列的DisableEditor属性选中
2.设置GroupList 的options属性中egoImmediateEditor属性选中。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-30 14:22:27 | 显示全部楼层
按楼上设置后,又出现一个新问题,无法使用checkbox多选,点击一项打勾后,勾选其他项则这项的勾被清除了。
回复 支持 反对

使用道具 举报

发表于 2008-12-30 15:44:28 | 显示全部楼层
procedure TMainForm.glMailColumn15Change(Sender: TObject);
begin
   if  sysutils.SameText(objecthelper.ToString( glMail.SelectedNodes[0].Values[1]),'true' )then
glMail.SelectedNodes[0].Values[1]:='false' else
glMail.SelectedNodes[0].Values[1]:='true';
end;
这个是那个选择列的事件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-30 16:12:40 | 显示全部楼层
参照4楼的方法设置后,又发现存在问题如下图:

无法勾选多个邮件.jpg

45.14 KB, 下载次数: 103

回复 支持 反对

使用道具 举报

发表于 2008-12-30 16:19:59 | 显示全部楼层
你没看我写的??

aaa.gif

25.43 KB, 下载次数: 103

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-30 17:44:03 | 显示全部楼层
编译能通过,运行点击复选框报错:

mail_err.jpg

60.64 KB, 下载次数: 103

回复 支持 反对

使用道具 举报

发表于 2008-12-30 17:53:55 | 显示全部楼层
zz

temp.rar

7.18 KB, 下载次数: 49

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 19:57 , Processed in 0.044797 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表