反饋已提交

網絡繁忙

FVS頁面API

適用場景:安裝了「FineVis資料視覺化」插件的使用者,可參考本文了解 FineVis 的相關功能。

版本

報表伺服器版本插件版本功能變動
11.0V1.0.0最低版本要求
11.0.22V2.5.0

新增API getAllPages 

查看歷史版本更新

報表伺服器版本插件版本功能變動
11.0.7
V1.8.0

支援API this,可獲取當前的組件物件,獲取後可以使用組件的方法和屬性

支援API getAllWidgets,可獲取當前頁所有組件

11.0.9V1.9.1refresh API支援傳參
11.0.9V1.14.1新增設定分頁切換按鈕顯隱狀態API setPageButtonDisplayPolicy 
11.0.16V1.18.0新增關閉頁面全螢幕API exitFullscreen
11.0.22V2.2.1新增全局傳參API linkageGlobal
11.0.22V2.4.0新增暫停繼續頁面切換API pauseRollPlay、continueRollPlay
11.0.22V2.4.1

FVS 統一範本分頁、表格組件分頁、Tab組件標籤頁相關 API 接

詳情請參見本文 獲取頁、操作頁 相關內容


相容說明

V2.4.1 版本對範本分頁、表格組件分頁、Tab組件標籤頁相關 API API進行了統一設計,新API的頁索引統一從 1 開始。

詳細說明參見表格:

類型
舊API新API
範本分頁

url 後綴參數 page=x ,x 從 0 開始

page=0 表示第一頁

url 後綴參數改為 page_number=x , x 從 1 開始

page_number=1 表示第一頁

表格分頁表格分頁索引從 1 開始,表示第一頁表格分頁索引從 1 開始,表示第一頁
Tab標籤頁標籤頁索引從 0 開始,表示第一頁標籤頁索引從 1 開始,表示第一頁


this

方法this獲取當前的組件物件,獲取後可以使用組件的方法和屬性
     參數--
   回傳值object 當前組件物件
     範例

範例1:獲取當前元件組件的實際值

this.getValue();

範例2:設定當前元件不可見

this.setVisible(false);

範例3:清空當前元件的值

this.reset();
  應用範例

-

    行動端支援行動端


getAllwidgets

方法getAllWidgets()

獲取當前頁面中所有組件物件,後續可以呼叫每個組件上的API加以使用

     參數--
   回傳值Array組件物件陣列
     範例

範例1:點選標題組件,一鍵隱藏當前頁所有組件

duchamp.getAllWidgets().forEach(widget => {
widget.setVisible(false);
})

範例2:在 FVS 範本中,獲取當前頁面總共有多少組件,並彈窗顯示

var a = duchamp.getAllWidgets().length;
duchamp.Msg.alert({
      title: "提示" ,
       message:"當前頁面總共有組件:"+ a +"個"
}
)


  應用範例

點選標題組件,獲取當前頁面總共有多少組件,並彈窗顯示

點選下載範本:獲取當前頁組件數量.fvs


   行動端支援行動端


getWidgetByName


方法getWidgetByName(name)獲取當前頁面中的某個組件
     參數name: string組件名稱,字串
   回傳值object 組件物件
     範例

範例:獲取標題組件

duchamp.getWidgetByName('標題組件1_頁面1');
  應用範例

-

    行動端支援行動端


refresh

方法refresh()觸發組件重新整理
     參數{para:"para"}參數名稱:參數值
   回傳值--
     範例

範例1:觸發「組件1」重新整理

duchamp.getWidgetByName("組件1").refresh();

範例2:觸發「柱形圖」組件重新整理並將地區華北作為參數傳遞給柱形圖

duchamp.getWidgetByName("柱形圖").refresh({area:"華北"});

注:給同一組件傳多個參數時,寫法如下

duchamp.getWidgetByName("組件").refresh({a:"參數值",b:"參數值"});
  應用範例

點選標題組件,觸發「柱形圖」組件重新整理並將地區華北作為參數傳遞給柱形圖

點選可下載範本:refresh重新整理組件.fvs

    行動端支援行動端


trigger

方法trigger()

觸發組件點選事件

注:不支援三維組件和元件組件

     參數-

-

   回傳值--
     範例

觸發「組件1」的所有點選事件

duchamp.getWidgetByName("組件1").trigger();
  應用範例

-

    行動端支援行動端


requestFullscreen

方法requestFullscreen()觸發頁面全螢幕
     參數--
   回傳值--
     範例

範例:給標題組件新增點選 JavaScript 事件,觸發頁面全螢幕

duchamp.requestFullscreen();
  應用範例

-

    行動端不支援行動端


exitFullscreen

方法exitFullscreen()

關閉頁面全螢幕

注:僅針對 requestFullscreen API觸發的全螢幕,若使用按鍵 F11 觸發全螢幕,則該API無效

     參數--
   回傳值--
     範例

範例:給標題組件新增點選 JavaScript 事件,關閉頁面全螢幕

duchamp.exitFullscreen();
  應用範例

-

    行動端不支援行動端


reload

方法reload()觸發範本整體重新整理
     參數--
   回傳值--
     範例

每兩秒重新整理一次頁面

setInterval(() => {    duchamp.reload();  }, 2 * 1000);
  應用範例

V1.7.2 版本之前的插件,只能透過範本的「範本>頁面載入結束事件」寫 JavaScript 程式碼實現

V1.7.2 及之後版本,可透過「範本定時重新整理」功能設定,詳情請參見:FVS範本定時重新整理

    行動端支援行動端


setPageButtonDisplayPolicy

方法setPageButtonDisplayPolicy()設定多分頁範本左下角切換分頁按鈕是否顯示
     參數always/hover/never

切換按鈕的三種狀態(預設為 always):

  • always:永遠顯示

  • hover:滑鼠懸浮時顯示

  • never:從不顯示

   回傳值--
     範例

可新增以下程式碼在範本的「載入結束事件」中

範例1:設定切換按鈕永遠顯示

duchamp.setPageButtonDisplayPolicy("always");

範例2:設定切換按鈕隱藏,滑鼠懸浮時顯示

duchamp.setPageButtonDisplayPolicy("hover");

範例3:設定切換按鈕從不顯示

duchamp.setPageButtonDisplayPolicy("never");
  應用範例-
    行動端不支援行動端


linkageGlobal

方法linkageGlobal()參數全局聯動
     參數{para:"para"}參數名稱:參數值
   回傳值--
     範例

無需獲取多個參數元件分別指派,使用該API即可實現全局參數聯動,對所有分頁生效

範例:點選標題組件,將「華北」作為參數值,傳遞給範本內所有使用了參數 area 的組件

duchamp.linkageGlobal({area:"華北"})

注:傳遞多個參數時,寫法如下

duchamp.linkageGlobal({a:"參數值",b:"參數值"});
  應用範例

點選下載範本:參數全局聯動API範例.fvs

    行動端支援行動端


pauseRollPlay

方法pauseRollPlay()暫停頁面自動切換
     參數--
   回傳值--
     範例

多分頁範本開啟自動切換頁面時,暫停頁面自動切換

duchamp.pauseRollPlay();
  應用範例

點選下載範本:JS實現暫停繼續頁面切換.fvs

    行動端不支援行動端


continueRollPlay

方法continueRollPlay()繼續頁面自動切換
     參數--
   回傳值--
     範例

多分頁範本開啟自動切換頁面時,暫停頁面自動切換後,繼續頁面自動切換

duchamp.continueRollPlay();
  應用範例

點選下載範本:JS實現暫停繼續頁面切換.fvs

    行動端不支援行動端


注:以下獲取頁及操作頁API需使用 V2.4.1 及之後版本,V2.4.1 之前版本API請參考 歷史API 。

獲取頁

getPage

方法getPage()獲取頁
     參數value:page_number|name

根據頁索引或頁名稱獲取頁

page_number:頁索引,從 1 開始的正整數

name:頁名稱,字串

   回傳值
  setVisible: (visible: boolean) => void,
  goto: (options?: { [key: string]: string }) => void,
  getName: () => string,
  getIndex: () => number,
  isVisible: () => boolean,
}

{

visible:可見性

options:跳轉的頁面物件

name:頁面名稱

number:頁面索引,從 1 開始的正整數

}

     範例

範例1:在 FVS 範本中,獲取「頁面1

duchamp.getPage("頁面1");

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件的分頁1

duchamp.getWidgetByName('表格1').getPage(1);

範例3:在 FVS 範本中,獲取「Tab1」組件第一個標籤頁

duchamp.getWidgetByName('Tab1').getPage(1);
  應用範例

-

    行動端支援行動端

getPreviousPage

方法getPreviousPage()獲取上一頁
     參數-

-

   回傳值
  setVisible: (visible: boolean) => void,
  goto: (options?: { [key: string]: string }) => void,
  getName: () => string,
  getIndex: () => number,
  isVisible: () => boolean,
}

{

visible:可見性

options:跳轉的頁面物件

name:頁面名稱

number:頁面索引,從 1 開始的正整數

}

     範例

範例1:在 FVS 範本中,獲取當前頁的上一頁

duchamp.getPreviousPage();

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件當前頁的上一頁

duchamp.getWidgetByName('表格1').getPreviousPage();

範例3:在 FVS 範本中,獲取「Tab1」組件當前頁的上一頁

duchamp.getWidgetByName('Tab1').getPreviousPage();
  應用範例-
    行動端支援行動端

getNextPage

方法getNextPage()獲取下一頁
     參數-

-

   回傳值
  setVisible: (visible: boolean) => void,
  goto: (options?: { [key: string]: string }) => void,
  getName: () => string,
  getIndex: () => number,
  isVisible: () => boolean,
}

{

visible:可見性

options:跳轉的頁面物件

name:頁面名稱

number:頁面索引,從 1 開始的正整數

}

     範例

範例1:在 FVS 範本中,獲取當前頁的一頁

duchamp.getNextPage();

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件當前頁的一頁

duchamp.getWidgetByName('表格1').getNextPage();

範例3:在 FVS 範本中,獲取「Tab1」組件當前頁的一頁

duchamp.getWidgetByName('Tab1').getNextPage();
  應用範例-
    行動端支援行動端

getFirstPage

方法getFirstPage()獲取第一頁
     參數-

-

   回傳值
  setVisible: (visible: boolean) => void,
  goto: (options?: { [key: string]: string }) => void,
  getName: () => string,
  getIndex: () => number,
  isVisible: () => boolean,
}

{

visible:可見性

options:跳轉的頁面物件

name:頁面名稱

number:頁面索引,從 1 開始的正整數

}

     範例

範例1:在 FVS 範本中,獲取範本的第一頁

duchamp.getFirstPage();

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件第一頁

duchamp.getWidgetByName('表格1').getFirstPage();

範例3:在 FVS 範本中,獲取「Tab1」組件第一頁

duchamp.getWidgetByName('Tab1').getFirstPage();
  應用範例-
    行動端支援行動端

getLastPage

方法getLastPage()獲取最後一頁
     參數-

-

   回傳值
  setVisible: (visible: boolean) => void,
  goto: (options?: { [key: string]: string }) => void,
  getName: () => string,
  getIndex: () => number,
  isVisible: () => boolean,
}

{

visible:可見性

options:跳轉的頁面物件

name:頁面名稱

number:頁面索引,從 1 開始的正整數

}

     範例

範例1:在 FVS 範本中,獲取範本的最後一頁

duchamp.getLastPage();

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件最後一頁

duchamp.getWidgetByName('表格1').getLastPage();

範例3:在 FVS 範本中,獲取「Tab1」組件最後一頁

duchamp.getWidgetByName('Tab1').getLastPage();
  應用範例-
    行動端支援行動端

getCurrentPage

方法getCurrentPage()獲取當前頁
     參數-

-

   回傳值
  setVisible: (visible: boolean) => void,
  goto: (options?: { [key: string]: string }) => void,
  getName: () => string,
  getIndex: () => number,
  isVisible: () => boolean,
}

{

visible:可見性

options:跳轉的頁面物件

name:頁面名稱

number:頁面索引,從 1 開始的正整數

}

     範例

範例1:在 FVS 範本中,獲取範本展示的當前

duchamp.getCurrentPage();

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件當前頁

duchamp.getWidgetByName('表格1').getCurrentPage();

範例3:在 FVS 範本中,獲取「Tab1」組件當前頁

duchamp.getWidgetByName('Tab1').getCurrentPage();
  應用範例-
    行動端支援行動端

getAllPages

注:該API需使用 V2.5.0 及之後版本。

方法getAllPages()獲取所有頁
     參數-

-

   回傳值page[x]

頁面陣列,x 從 0 開始,0 表示第一頁

注:這裏與頁面索引不一樣,頁面索引從 1 開始

     範例

範例1:在 FVS 範本中,獲取範本總共有多少頁,並彈窗顯示

var a = duchamp.getAllPages().length;
duchamp.Msg.alert({
      title: "提示" ,
       message:"當前範本總頁數為:"+ a
}
)

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取「表格1」組件第二頁的名稱

duchamp.getWidgetByName('表格1').getAllPages()[1].getName();

範例3:在 FVS 範本中,獲取「Tab1」組件第一頁的索引

duchamp.getWidgetByName('Tab1').getAllPages()[0].getIndex();
  應用範例

點選下載範本FVS獲取範本總頁數.fvs

    行動端支援行動端

操作頁

以下API需結合獲取頁API使用

setVisible

方法setVisible()

設定頁面顯示或隱

注:若隱藏正在展示的頁面,會彈出提示「無法隱藏當前頁」

     參數visible: boolean

頁面是否顯示,布林型

  • true:顯示

  • false:隱

   回傳值--
     範例

範例1:在 FVS 範本中,隱藏範本「頁面1」

duchamp.getPage("頁面1").setVisible(false);

範例2:在 FVS 範本中,「表格1」組件設定了分頁,隱藏表格分頁1

duchamp.getWidgetByName('表格1').getPage(1).setVisible(false);

範例3:在 FVS 範本中,隱藏「Tab1」組件標籤頁1

duchamp.getWidgetByName('Tab1').getPage(1).setVisible(false);
  應用範例

點選下載範本:FVS設定頁面顯示或隱藏.fvs

    行動端支援行動端

isVisible

方法isVisible()獲取頁面顯示/隱藏狀態
     參數--
   回傳值visible: boolean

頁面是否顯示,布林型

  • true:顯示

  • false:隱

     範例

範例1:在 FVS 範本中,獲取「頁面2」,傳回其顯示隱藏狀態並彈窗提示

var a = duchamp.getPage("頁面2").isVisible();
duchamp.Msg.alert({
      title: "提示" ,
       message:"頁面2顯隱狀態為 "+ a
}
)

範例2:在 FVS 範本中,「表格1」組件設定了分頁,獲取表格分頁2,傳回其顯隱狀態

duchamp.getWidgetByName('表格1').getPage(2).isVisible();

範例3:在 FVS 範本中,獲取「Tab1」組件標籤頁2,傳回其顯隱狀態

duchamp.getWidgetByName('Tab1').getPage(2).isVisible();
  應用範例

點選下載範本FVS獲取頁面顯隱狀態.fvs

    行動端支援行動端

goto

方法goto()跳轉到獲取的頁面
     參數{para:"para"}參數名:參數值
   回傳值--
     範例

範例1:在 FVS 範本中,跳轉到下一頁

duchamp.getNextPage().goto();

範例2:在 FVS 範本中,「表格1」組件設定了分頁,跳轉表格下一頁

duchamp.getWidgetByName('表格1').getNextPage().goto();

範例3:在 FVS 範本中,跳轉「Tab1」組件下一頁

duchamp.getWidgetByName('Tab1').getNextPage().goto();

範例4:在 FVS 範本中,跳轉到下一頁並傳參

duchamp.getNextPage().goto({a:"參數a"});

傳遞多個參數寫法如下:

duchamp.getNextPage().goto({a:"參數a",b:"參數b"});
  應用範例

點選下載範本FVS頁面跳轉.fvs


    行動端支援行動端

getName

方法getName()獲取頁面名稱
     參數--
   回傳值name:string頁面名稱,字串
     範例

範例1:在 FVS 範本中,獲取當前頁面名稱並彈窗顯示

var name = duchamp.getCurrentPage().getName();
duchamp.Msg.alert({
      title: "提示" ,
      message:"當前頁面名稱為 "+ name
}
)

範例2:在 FVS 範本中,獲取「Tab1」組件當前頁面名稱並彈窗顯示

var name = duchamp.getWidgetByName('Tab1').getCurrentPage().getName();
duchamp.Msg.alert({
      title: "提示" ,
      message:"當前頁面名稱為 "+ name
}
)

注:表格組件分頁沒有名稱,若使用上述 JS ,回傳值為 undefined

  應用範例

點選下載範本:FVS獲取頁面名稱.fvs

    行動端支援行動端

getIndex

方法getIndex()獲取頁面索引
     參數--
   回傳值number頁面索引,從 1 開始的正整數
     範例

範例1:在 FVS 範本中,獲取當前頁面索引並彈窗顯示

var number = duchamp.getCurrentPage().getIndex();
duchamp.Msg.alert({
      title: "提示" ,
      message:"當前頁面名稱為 "+ number
}
)

範例2:在 FVS 範本中,獲取「表格1」組件當前頁面索引並彈窗顯示

var number = duchamp.getWidgetByName('表格1').getCurrentPage().getIndex();
duchamp.Msg.alert({
      title: "提示" ,
      message:"表格當前頁面索引為 "+ number
}
)

範例3:在 FVS 範本中,獲取「Tab1」組件當前頁面索引並彈窗顯示

var number = duchamp.getWidgetByName('Tab1').getCurrentPage().getIndex();
duchamp.Msg.alert({
      title: "提示" ,
      message:"Tab當前頁面索引為 "+ number
}
)
  應用範例

點選下載範本:FVS獲取頁面索引.fvs

    行動端支援行動端


附件列表


主題: 二次開發
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙