在Birt Designer中,Binding 是无处不在的,如何正确的是用Birt的Binding呢?首先我们需要知道Birt的Binding Type。
Birt的Binding type随着Birt的版本的升级而越来越丰富,早期的Birt版本只有2种类型:为自己创建一个Data Column Binding,和使用Container的Data Binding,随着CrossTab的出现,进而出现了Cube,ReportItem Reference Binding的概念。
普通的Binding,一般是通过属性编辑器的BindingPage来创建,可以set一个Data set,然后自动创建一个Binding列表。Crosstab和Chart两种类型的Report Item 可以不依赖于Data set,而采用Cube来作为Bingding源。而ReportItem Reference 的概念更是简便了Binding的生成,我们可以让一个ReportItem 直接引用另外一个ReportItem的Binding,而非仅仅是Container的Binding,当然既然是引用,那么你是无法编辑这些Binding的,而且被引用的ReportItem必须包含一个名字,有些ReportItem比如Table本身是可以不设名字的,但在这个地方你就要加上了。
再来说说Binding的设置,我们可以通过Binding Dialog和Binding Page来设置,这两种设置是不同的,如果在Binding Dialog上添加一个Binding,那么这个Binding是添加到这个Report Item的BindingHolder身上,如果在 Binding Page上设置,则Bindnig会添加到自身,让自己成为BindingHolder。