delphi 在DbGridEh中显示TreeView 效果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 在DbGridEh中显示TreeView 效果相关的知识,希望对你有一定的参考价值。

看到关于在DbGridEh中显示TreeView 效果的一个文档,但是说的太过于简陋了,也不知道demo在哪里,自己尝试了一下,但是没有实现,有哪位达人知道如何实现的能仔细说一下么?主要是控件和属性的设置,或者有demo也可以
这样的效果,grid里面第一栏用的是树形结构

参考技术A 你说的效果指的是什么效果?追问

请看图片

追答

下载Ehlib组件5.2以上版本,然后安装好。(d7用5.2-5.3版,d7以上版本用5.2版以上)

添加组件:

1、ADOQuery1--连接数据库

2、DataSetDriverEh1--连接ADOQuery1

3、MemTableEh1--连接DataSetDriverEh1

4、DataSource1--连接MemTableEh1

5、DBGridEh1--连接DataSource1并显示列表

主要设置是在MemTableEh1控件

   MemTableEh1.TreeList.Active:=True;
   MemTableEh1.TreeList.KeyFieldName:= 'ID';  //节点字段(父)
   MemTableEh1.TreeList.RefParentFieldName:='ID_PARENT';  //引用节点字段(子)
   MemTableEh1.TreeList.DefaultNodeExpanded:=True;  //打开时自动展开
   MemTableEh1.Open;

 

追问

我完全是这样设置的,但是就是不行,刚才看了一下代码,貌似我用的是ehlib 4.2的,难道是这个原因?我是直接静态设置的,没有通过代码控制,这个应该不影响吧,另外可以把你查的这个表的数据结构让我看看吗?查询语句也可以,

追答

我也是静态设置的,代码只是说明一下而已。

因为你是静态设置,你要注意你那几个控件的Active属性是不是都设置为true了。

还有你说的不行,是不能运行,还是运行后没这个效果?

我的表结构图:

本回答被提问者采纳

delphi DBGridEH控件的checkbox如何判断是不是选中,求指导 !

我想做一个批量删除的功能,用到了DBGridEH 的checkbox,想问如何判断checkbox是否被选中?

DBGridEH 的checkbox只是个true or false的boolean值

双击DBGridEH 在字段栏设置 checkboxes为true 就可以显示为checkbox了
所以判断是否被选中 只要看是否是true值
参考技术A 不太明白你的意思,既然你表内有多个复选框,就说明表不是空的。复选框在DBGridEh中就是一个Boolean类型的字段值,该值为True,则选中,为false,则未选中。所以,你只需判断该DbGridEh所在列的值就行了。 参考技术B 我表中的值是空的 没值 只是为了让DBGridEh有复选框的效果 ,我只要判断哪个复选框被选中了,然后批量删除

以上是关于delphi 在DbGridEh中显示TreeView 效果的主要内容,如果未能解决你的问题,请参考以下文章

delphi dbgrideh导入excel 中

急急急!!!delphi中修改了DBGridEh中一列的值,希望在另一列显示修改的当前日期

delphi DBGridEH控件的checkbox如何判断是不是选中,求指导 !

delphi sqlite dbgrideh 锁定数据库

delphi DBgridEh多行单元格如何实现~急!!

Delphi 的DBGridEH 中,几个列栏位值相加