在Birt Designer中,Binding 是無處不在的,如何正確的是用Birt的Binding呢?首先我們需要知道Birt的Binding Type。
Birt的Binding type隨著Birt的版本的升級(jí)而越來越豐富,早期的Birt版本只有2種類型:為自己創(chuàng)建一個(gè)Data Column Binding,和使用Container的Data Binding,隨著CrossTab的出現(xiàn),進(jìn)而出現(xiàn)了Cube,ReportItem Reference Binding的概念。
普通的Binding,一般是通過屬性編輯器的BindingPage來創(chuàng)建,可以set一個(gè)Data set,然后自動(dòng)創(chuàng)建一個(gè)Binding列表。Crosstab和Chart兩種類型的Report Item 可以不依賴于Data set,而采用Cube來作為Bingding源。而ReportItem Reference 的概念更是簡(jiǎn)便了Binding的生成,我們可以讓一個(gè)ReportItem 直接引用另外一個(gè)ReportItem的Binding,而非僅僅是Container的Binding,當(dāng)然既然是引用,那么你是無法編輯這些Binding的,而且被引用的ReportItem必須包含一個(gè)名字,有些ReportItem比如Table本身是可以不設(shè)名字的,但在這個(gè)地方你就要加上了。
再來說說Binding的設(shè)置,我們可以通過Binding Dialog和Binding Page來設(shè)置,這兩種設(shè)置是不同的,如果在Binding Dialog上添加一個(gè)Binding,那么這個(gè)Binding是添加到這個(gè)Report Item的BindingHolder身上,如果在 Binding Page上設(shè)置,則Bindnig會(huì)添加到自身,讓自己成為BindingHolder。
Birt的Binding type隨著Birt的版本的升級(jí)而越來越豐富,早期的Birt版本只有2種類型:為自己創(chuàng)建一個(gè)Data Column Binding,和使用Container的Data Binding,隨著CrossTab的出現(xiàn),進(jìn)而出現(xiàn)了Cube,ReportItem Reference Binding的概念。
普通的Binding,一般是通過屬性編輯器的BindingPage來創(chuàng)建,可以set一個(gè)Data set,然后自動(dòng)創(chuàng)建一個(gè)Binding列表。Crosstab和Chart兩種類型的Report Item 可以不依賴于Data set,而采用Cube來作為Bingding源。而ReportItem Reference 的概念更是簡(jiǎn)便了Binding的生成,我們可以讓一個(gè)ReportItem 直接引用另外一個(gè)ReportItem的Binding,而非僅僅是Container的Binding,當(dāng)然既然是引用,那么你是無法編輯這些Binding的,而且被引用的ReportItem必須包含一個(gè)名字,有些ReportItem比如Table本身是可以不設(shè)名字的,但在這個(gè)地方你就要加上了。
再來說說Binding的設(shè)置,我們可以通過Binding Dialog和Binding Page來設(shè)置,這兩種設(shè)置是不同的,如果在Binding Dialog上添加一個(gè)Binding,那么這個(gè)Binding是添加到這個(gè)Report Item的BindingHolder身上,如果在 Binding Page上設(shè)置,則Bindnig會(huì)添加到自身,讓自己成為BindingHolder。