Delphi的Grid控件中,DBGridEh支持多列头的设计,只需要开启多列头属性,然后列头的标题遵循大标题|小标题的方式,控件自动会生成多列头。
因为cxGrid的强大功能,笔者在很多设计中都使用的是cxGrid,于是在想cxGrid是否也支持多列头,于是翻看了官方说明,发现还真的支持。不过使用不是默认的cxGridTableView,而是扩展的cxGridTableBandedView,列头是通过Band来控制的,系统默认只有一个Band,因此也就只有一列。如果要增加一个列头,那么我们可以增加Band来实现,然后列属性里有Position.bandIndex,通过这个属性,就可以呈现出多列头的效果了。
如何实现多级列头呢?其实也很简单,Band里也有一个属性Position,在这里指定上级列头的index即可。