jerrychen3168 发表于 2024-12-18 10:56:24

[17.1.4] designer 的功能表是否可以隱藏,或菜單是否能部份隱藏

本帖最后由 Wilson.Zhang 于 2024-12-18 12:04 编辑


你好,
使用designer, designer 的功能表(如下图紅色框)是否可以隱藏,或功能表上的菜單是否能部份隱藏


Wilson.Zhang 发表于 2024-12-18 10:56:25

jerrychen3168 发表于 2024-12-18 15:40
你好,
我在DefaultConfig沒有看到工具列中的"文件", 我想要把"文件"拿掉",其他的tab功能留著,請問 ...
在DefaultConfig對象中,ribbon屬性保存了工具欄中除“文件”選項卡外其他選項卡的内容,而“文件”選項卡對應為fileMenu屬性,如下圖所示:


將DefaultConfig對象的fileMenu屬性值置null,再對Designer重置DefaultConfig即可,如下圖所示:


var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container');
var designerConfig = JSON.parse(JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig));
designerConfig.fileMenu = null;
designer.setConfig(designerConfig);

Wilson.Zhang 发表于 2024-12-18 12:03:43

您好!如果您需要隱藏整個工具欄,可以通過如下代碼設置:
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container');
//設置隱藏工具欄
designer.setData('isRibbonCollapse', true);
同理,如果需要再顯示被隱藏的工具欄,將上述代碼中的true修改爲false即可。

工具欄中各選項被集成在DefaultConfig中,每個選項卡可視與否由visibleWhen屬性控制,其值為各個實際控制可見性的屬性名稱,但是不建議直接修改這些屬性名稱對應的屬性值。因爲不同選項卡的visibleWhen值中包含有相同的屬性名稱。
一般情況下,建議自定義一個控制可見性的屬性,通過與或邏輯關係將該屬性名稱拼接在visibleWhen原值后。可以參考如下鏈接瞭解詳情:
https://gcdn.grapecity.com.cn/showtopic-222283-1-12.html

如果您想隱藏的是工具欄某選項卡中的某個按鈕,需要設置該按鈕對應的命令對象中的enableContext屬性。與控制選項卡可見性的方式相同,自定義一個屬性,對其設置true或者false,並將其名稱通過與或邏輯運算符拼接在對應命令對象的enableContext屬性值中。

jerrychen3168 发表于 2024-12-18 14:35:53

Wilson.Zhang 发表于 2024-12-18 12:03
您好!如果您需要隱藏整個工具欄,可以通過如下代碼設置:

同理,如果需要再顯示被隱藏的工具欄,將上述 ...

designer.setData('isRibbonCollapse', true);
你好,有可以讓它完全消失的嗎?用戶無法再叫出來

trace 发表于 2024-12-18 14:42:24

可以试一下这段代码
var config = GC.Spread.Sheets.Designer.DefaultConfig;
config.ribbon = [];
designer.setConfig(config);

Wilson.Zhang 发表于 2024-12-18 14:49:25

本帖最后由 Wilson.Zhang 于 2024-12-18 14:52 编辑

jerrychen3168 发表于 2024-12-18 14:35
designer.setData('isRibbonCollapse', true);
你好,有可以讓它完全消失的嗎?用戶無法再叫出來
如果不需要工具欄,可以直接使用SpreadJS表格控件,它不携帶工具欄,也沒有Designer中工具欄和sheet頁之間的公式編輯欄,如下圖所示:


如果還是使用Designer的話,刪除DefaultConfig對象中的ribbon屬性值即可,ribbon屬性值即工具欄内容對應的對象,參考如下代碼:
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container');
var config = GC.Spread.Sheets.Designer.DefaultConfig;
config.ribbon = [];
designer.setConfig(config);
也可以在創建Designer對象前設置好DefaultConfig,參考如下代碼:
var config = GC.Spread.Sheets.Designer.DefaultConfig;
config.ribbon = [];
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container', config);

jerrychen3168 发表于 2024-12-18 15:40:23

Wilson.Zhang 发表于 2024-12-18 12:03
您好!如果您需要隱藏整個工具欄,可以通過如下代碼設置:

同理,如果需要再顯示被隱藏的工具欄,將上述 ...




你好,
我在DefaultConfig沒有看到工具列中的"文件", 我想要把"文件"拿掉",其他的tab功能留著,請問如何做?





Joestar.Xu 发表于 2024-12-18 16:13:53

请参考:https://gcdn.grapecity.com.cn/showtopic-184299-1-1.html
页: [1]
查看完整版本: [17.1.4] designer 的功能表是否可以隱藏,或菜單是否能部份隱藏