13.BDF2-COMPONENTPROFILE

2023-07-03 17:36 更新

功能介紹

該模塊提供了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ā)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號