起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 432|回复: 12

【结贴】DataTreeList与子节点问题

[复制链接]
发表于 2009-11-23 09:15:09 | 显示全部楼层 |阅读模式
http://bbs.justep.com/forum.php? ... A%D7%D3%BD%DA%B5%E3
参考这张帖子里做了 OnDataChange 等,但还不满足需求,不知道该怎么写

我要实现的是 主节点选中时,子节点马上跟着选中,跟那帖子的需求类似

但还是写不出那效果
回复

使用道具 举报

发表于 2009-11-23 09:34:46 | 显示全部楼层
楼主,你只要控制对应数据的那个字段值就可以了。(根据父节点的选中与否遍历所有子节点的选中状态)
datatreelist仅仅是一个表现控件而已。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-23 09:40:26 | 显示全部楼层
是的
但遍历的代码我该放在哪个事件下呢?
DataChange DataFieldChange的话需要保存才能触发,而OnClick事件也不触发
回复 支持 反对

使用道具 举报

发表于 2009-11-23 09:52:59 | 显示全部楼层
如何判断数据集某个字段是否改变
1  如果是在数据集POST之前,可以用字段的OldValue 和 Value 来判断(注意要转换成相应的类型来计较,比如VarToStr以后再比较)
2  如果是数据集POST之后,那么就不能用OldValue 和 Value 来判断了,可以用DeltaDataSet来判断。对于修改的字段,在DeltaDataSet中有一条记录,记录下来记录的原值,然后在下一条记录上记录被修改的值,如果没有修改,则为空

具体的写法
DataSetBroker1.DataSet.FieldByName('aa').oldValue
DataSetBroker1.DataSet.FieldByName('aa').Value
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-1 11:44:57 | 显示全部楼层
procedure TBZXM.DataTreeList1Click(Sender: TObject);
begin
  Dialogs.ShowMessage(Business.System.Variants.VarToStr(DataSetBZXM.FieldByName('GJJRK').oldValue));
   Dialogs.ShowMessage(Business.System.Variants.VarToStr(DataSetBZXM.FieldByName('GJJRK').Value));
end;
这样怎么没反应的?
回复 支持 反对

使用道具 举报

发表于 2009-12-1 14:15:29 | 显示全部楼层
OnDataChange  不需要保持数据,只要焦点离开该字段就可以了。

另外,5楼说没有反应是啥意思,没有进入这个事件吗?

我测试了,只要点击DataTreeList,就会触发click事件,你再检查一下,控件是否挂上等等
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-3 11:33:38 | 显示全部楼层
最初由 atiger 发布
[B]OnDataChange  不需要保持数据,只要焦点离开该字段就可以了。

另外,5楼说没有反应是啥意思,没有进入这个事件吗?

我测试了,只要点击DataTreeList,就会触发click..

以下省略...... [/B]


OnDataChange  不能即时地改变

“我测试了,只要点击DataTreeList,就会触发click..”
对于表现为CheckBox类型的字段是没有效果的
回复 支持 反对

使用道具 举报

发表于 2009-12-3 15:06:56 | 显示全部楼层
楼主,经过测试确实如楼主 7楼所说

不过可以在 DataTreeList 的 onMouseDown 事件,通过判断 DataTreeList1.FocusedField.FieldName 是否是哪个CheckBox 就可以了,你试试吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-3 15:43:52 | 显示全部楼层
还是不能实现单击checkbox时立即改变(多次单击),8楼那只有转换行的时候才触发
回复 支持 反对

使用道具 举报

发表于 2009-12-3 16:00:23 | 显示全部楼层
不会呀,只要鼠标点击,就会触发 的 onMouseDown 这个事件
至于需要多次点击,你是否选中 OptionsView 的 etoShowButtonAlawys 这个属性呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-14 05:24 , Processed in 0.042113 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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