功能介紹
該模塊提供了doardo7數(shù)據(jù)感知控件(datagrid,autoform)的個性化定制功能.
所謂的定制化就是允許用戶根據(jù)自己的需求去調(diào)整某一字段順序,顯隱寬度等信息,并將該信息持久化到數(shù)據(jù)庫, 使得用戶有更人性化的瀏覽體驗.
環(huán)境搭建
本模塊依賴于BDF2-ORM模塊,也就是說只要是BDF項目,都可以運行該模塊.
Maven Project
為現(xiàn)有的BDF2 maven項目添加如下依賴:
BDF2-COMPONENTPROFILE maven依賴
<dependency>
<groupId>com.bstek.bdf2</groupId>
<artifactId>bdf2-componentprofile</artifactId>
<version>2.0.0</version>
</dependency
Dynamic Web Project
如果現(xiàn)在已經(jīng)有了一個bdf2項目, 可以去nexus下載該模塊的jar包:bdf2-componentprofile-2.0.0.jar, 并將其放到項目web-inf/lib目錄下.如果還沒有一個bdf項目可以通過我們的向?qū)砩梢粋€新的bdf2項目.
jar包添加完畢之后, 通過在線的方式更新dorado7規(guī)則. 如果在視圖文件的Dorado ToolBox的BDF2分類里看到兩個ProfileAction(AutoformProfielAction,DataGridProfileAction)控件說明該模塊已成功安裝.

配置方式
1. 實現(xiàn)接口
要使用該控件,首先要實現(xiàn)com.bstek.bdf2.componentprofile.service.IDataService接口. 該接口只有一個方法,getProfileKey.
個性化定制的結果以這個key去保存,同時以這個key去加載.如果我們定義profileKey為當前登錄用戶名,那么每個用戶都可以擁有專屬自己的個性化定制,如果profileKey定義為當前登錄用戶所在的部門,那么每個部門共有一個個性化定制化.
IDataService接口
public interface IDataService {
String getProfileKey();
}
以當前登錄人為profileKey的樣例
public class UserProfile implements IDataService {
public static String UNKNOWN = "unknown";
@Override
public String getProfileKey() {
String profileKey = null;
try {
profileKey = ContextHolder.getLoginUserName();
} catch (Exception e) {
profileKey = UNKNOWN;
}
return profileKey;
}
}
2. 配置ProfileAction控件
首先要根據(jù)需要為view頁面添加相應ProfileAction控件。
2.1
dataGridProfileAction只比正常的action多了一個屬性dataGrid,用來綁定要保存?zhèn)€性化配置的dataGrid.dataGridProfileAction的配置:

2.2
autoformProfileAction的autoForm跟dataGridProfileAction的dataGrid功能類似,是用來綁定一個要保存?zhèn)€性化信息的autoform控件。該action比datagridProfileAction多了四個屬性如圖所示:

多出四個屬性是因為autoform的個性化是在一個單獨的對話框中實現(xiàn)的,而datagrid是可以直接對自身做修改,這四個屬性控件著配置對話框中相應的列的顯隱,默認都是顯示的。如果某一列,不希望用戶去個性化定制,將其設置為false即可。

3. 當我們對dataGrid做過調(diào)整之后,觸發(fā)dataGridProfileAction,調(diào)整過后的數(shù)據(jù)就可以自動的保存到數(shù)據(jù)庫里。觸發(fā)的方式也跟其它action一樣,可以通過button綁定action的方式也可以通過調(diào)用action的execute方法。
當觸發(fā)autoformProfileAction之后,會彈出如上圖所示的配置對話框,在該對話框內(nèi)對autoform做修改,然后點擊保存,即可保存?zhèn)€性化配置,這時需要刷新頁面看到效果。
綁定方式(兩個action方法一樣,以dataGridProfileAction為例):

4. 重置個性化設置
當我們需要清除已有的個性化配置時,需要執(zhí)行profileAction的resetConfig方法來恢復到默認設置。該事件只能通過javascript來觸發(fā)。

更多建議: