反饋已提交

網絡繁忙

資料只剩一列不允許刪除

1. 概述

1.1 版本

版本
功能變更
11.0-

1.2 應用場景

希望實現第一行資料禁用「刪除行」按鈕。如下圖所示:

2024-11-12_14-06-05.gif



1.3 實現思路

方案一:刪除行後,條件屬性會重新計算,故可以利用條件屬性來判斷第一行,並禁用「刪除行」按鈕。

注:方案一適用於第一行固定的場景,支援行動端。

方案二:刪除行後,頁面的載入結束事件會重新執行,故可以在載入結束事件中使用 JS 獲取頁面行數,判斷為 1 時禁用「刪除行」按鈕。

API說明可以參考:填報預覽專有

注:方案二適用於第一行不固定的場景,不支援行動端。

2. 準備範本

2.1 建立範本

建立一張普通報表。如下圖所示:

2.2 準備資料

建立資料庫查詢 ds1 ,SQL 語句為:SELECT * FROM S產品 limit 3。如下圖所示:

2.3 設計範本

1)A1-C1 儲存格輸入正文內容,A2-B2 儲存格拖入資料列,自行設計報表樣式。如下圖所示:


2)D2 儲存格新增按鈕元件,按鈕類型為「插入行」,指定儲存格為 A2 。如下圖所示:


3)E2 儲存格新增按鈕元件,按鈕類型為「刪除行」,指定儲存格為 A2 。如下圖所示:


3. 方案一:條件屬性

1)為 E2 儲存格的「刪除行」按鈕新增條件屬性,屬性為「元件」,勾選「使用元件」,點選「編輯」按鈕。

2)選擇元件為「按鈕元件」,取消勾選「可用」,按鈕類型為「刪除行」,指定儲存格為 A2 ,點選「確定」按鈕。

3)設定公式條件類型為「公式」,公式為:row()=2,代表第二行,點選「增加」按鈕新增此公式。如下圖所示:


4. 方案二:載入結束事件

1)為 E2 儲存格的「刪除行」按鈕設定元件名稱為 sc ,並取消勾選「可用」。如下圖所示:


2)點選「範本>範本 Web 屬性>填報頁面設定」,選擇「為該範本單獨設定」,新增一個「載入結束」事件,輸入 JS 程式碼。如下圖所示:


JS 程式碼如下所示:

var arr = ['sc'];
//定義需要執行事件的刪除行按鈕名稱陣列,如有多組則寫法為['sc1','sc2']
for (i = 0; i < arr.length; i++) {
var kj = $('[widgetname="' + arr[i].toUpperCase() + '"]:visible');
//獲取頁面上可見的刪除行按鈕元素
var sc = _g().getWidgetsByName(arr[i].toUpperCase());
//根據名稱獲取刪除行按鈕
for (j = 0; j < sc.length; j++) {
kj.length <= 1 ? sc[j].setEnable(false) : sc[j].setEnable(true);
//當元件只剩1個時,禁用元件,否則遍歷啟動所有元件
}
}

5. 效果預覽

5.1 方案一

1)PC端

PC端效果如下圖所示:

2024-11-12_14-06-05.gif


2)行動端 

行動端效果如下圖所示:

2024-11-12_14-24-43.gif


5.2 方案二

注:方案二不支援行動端。

PC端效果如下圖所示:

2024-11-12_14-06-05.gif


6. 範本下載

點選下載方案一已完成範本:填報第一列資料不可刪除-方案一.cpt

點選下載方案二已完成範本:填報第一列資料不可刪除-方案二.cpt


附件列表


主題: 填報應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙