2025年8月20日 星期三

AppSheet 教學:善用 Show_If 條件,動態控制多個圖片上傳欄位

 在開發 AppSheet 應用時,我們時常需要讓使用者上傳圖片。但如果預設開啟 5 個或 10 個上傳欄位,不僅畫面雜亂,使用者也可能跳著上傳(例如只上傳第 1 張和第 3 張),造成後續資料管理的困難。

今天,我們要分享一個實用技巧:如何利用一個計數器和欄位的 Show? (顯示條件) 屬性,讓使用者能自行決定要上傳的圖片數量,並動態顯示對應的上傳欄位。

功能成果展示

最終完成的功能如下:

  1. 表單中會有一個「上傳圖片數量」的計數器欄位,預設為 0。

  2. 當使用者點擊「+」將數量增加到 1 時,第一個圖片上傳欄位 (Pic1) 會自動出現。

  3. 當數量增加到 2 時,第二個圖片上傳欄位 (Pic2) 也會跟著出現,以此類推。

  4. 反之,當數量減少時,多餘的欄位會自動隱藏。

這種做法的好處是:

  • 介面簡潔:只顯示使用者需要的欄位,避免畫面混亂。

  • 強制順序:使用者必須依序上傳圖片(1、2、3...),方便後台管理與查閱。

  • 提升使用者體驗:提供更直覺、更具彈性的操作方式。


設定步驟詳解

要實現這個功能,主要分為兩個階段:準備 Google Sheet 資料表,以及設定 AppSheet 欄位屬性。

首先,我們需要在 Google Sheet 中預先建立好所有可能用到的欄位。AppSheet 無法動態新增欄位,只能根據條件「顯示」或「隱藏」已存在的欄位。

  1. 建立一個新的 Google Sheet。

  2. 設定以下欄位:

    • ShowName:(Type: Text) 用於輸入事件的名稱或描述。

    • ShowCount:(Type: Number) 用來當作計數器,決定要顯示多少個圖片欄位。

    • Pic1Pic2Pic3Pic4Pic5...:預先建立您預計最多可能上傳的圖片欄位數量(本範例為 5 個)。

您的資料表結構看起來會像這樣:

ShowNameShowCountPic1Pic2Pic3Pic4Pic5
事件說明A3
事件說明B1

將 Google Sheet 匯入 AppSheet 後,我們開始進行核心設定。

  1. 調整欄位類型 (Type)

    • 前往 Data > Columns,找到您的資料表。

    • 確保 ShowCount 的欄位類型為 Number

    • 將 Pic1 到 Pic5 的欄位類型全部設定為 Image

      • 小提示:如果想上傳的不只是圖片,也可以設為 File 類型,這樣就可以上傳 PDF 等其他檔案。

  2. 設定欄位顯示名稱 (Display Name)

    • 為了讓介面更友善,可以修改 ShowCount 欄位的 Display Name,例如改為「上傳圖片數量」。

  3. 設定核心條件:Show? (Show_If Expression)
    這是最關鍵的一步。我們要為每一個圖片欄位(Pic1 ~ Pic5)設定顯示條件。

    • 設定 

      • 點擊 Pic1 欄位左側的編輯按鈕(鉛筆圖示)。

      • 找到 Show? 屬性,點擊旁邊的燒瓶圖示,進入公式編輯器。

      • 輸入以下公式:

      Code
      [ShowCount] >= 1
      • 公式說明:這表示只有當 ShowCount 欄位的值大於或等於 1 時,Pic1 這個欄位才會顯示出來。

    • 設定 

      • 同樣的方式,進入 Pic2 欄位的 Show? 屬性。

      • 輸入公式:

      Code
      [ShowCount] >= 2
    • 以此類推,完成所有圖片欄位設定:

      • Pic3 的條件為 [ShowCount] >= 3

      • Pic4 的條件為 [ShowCount] >= 4

      • Pic5 的條件為 [ShowCount] >= 5

  4. 儲存設定

    • 完成所有欄位的設定後,點擊右上角的 Save 按鈕。AppSheet 會重新同步應用,之後您的表單就具備動態顯示上傳欄位的功能了!


總結

透過簡單的 [計數欄位] >= N 條件判斷,我們就能靈活地控制 AppSheet 表單中欄位的可見性。這個技巧不僅限於圖片上傳,也可以應用在任何需要根據使用者選擇來動態增減填寫項目的情境,例如:商品訂購項目、問題回報細節等,能大幅提升應用的專業度和使用者體驗。


沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。

AppSheet 教學:善用 Show_If 條件,動態控制多個圖片上傳欄位

  在開發 AppSheet 應用時,我們時常需要讓使用者上傳圖片。但如果預設開啟 5 個或 10 個上傳欄位,不僅畫面雜亂,使用者也可能跳著上傳(例如只上傳第 1 張和第 3 張),造成後續資料管理的困難。 今天,我們要分享一個實用技巧:如何利用一個計數器和欄位的  Show?...