Power Apps 的 UI 缺陷:選擇全部 Dataverse 欄位後,「既存の列を表示」入口竟然消失

| PowerPlatform | 3 Reads

在 Power Apps 的 Dataverse 資料表畫面中,可以透過 「その他の○件」 按鈕打開 「既存の列を表示」 對話框,選擇要顯示在「列とデータ」區域中的欄位。

然而,這個功能存在一個相當尷尬的介面設計問題: 一旦選擇「すべて選択」並儲存,原本用來打開對話框的按鈕便會直接消失。

Power Apps Dataverse 的既存の列を表示對話框
Dataverse 資料表中的「既存の列を表示」對話框

問題發生的操作步驟

  1. 在 Power Apps 中打開一張 Dataverse 資料表。
  2. 進入顯示資料的「列とデータ」區域。
  3. 點擊欄位標題右側的「その他の○件」。
  4. 打開「既存の列を表示」對話框。
  5. 勾選「すべて選択」。
  6. 點擊「保存」。

完成上述操作後,所有可選欄位都會出現在資料預覽區域中。 問題也正是在這一步之後發生。

為什麼按鈕會消失?

Microsoft 並沒有為「既存の列を表示」提供一個固定存在的按鈕。 它的入口實際上是欄位標題旁邊的:

「その他の15件」或「+17 more」之類的剩餘欄位數量按鈕

這個數字表示目前還有多少個欄位尚未顯示。

當使用者選擇全部欄位後,尚未顯示的欄位數量就會變成零。因此, 「その他の○件」這個按鈕也會隨之消失。

從程式邏輯上看,這似乎很合理: 既然不存在尚未顯示的欄位,就不需要顯示「其他欄位」的入口。

但問題在於,這個入口同時也是 唯一可以重新打開「既存の列を表示」對話框的入口

也就是說,Power Apps 將以下兩種用途錯誤地綁在了同一個按鈕上:

  • 提示還有多少個欄位尚未顯示;
  • 打開欄位顯示設定,讓使用者重新選擇或取消選擇欄位。

當第一種用途不再需要時,按鈕被隱藏;但第二種用途也因此一起消失了。

使用者會遇到什麼結果?

選擇全部欄位並儲存後,使用者將無法從原本的資料表畫面再次打開同一個對話框。

因此會出現一個非常荒謬的狀態:

可以把所有欄位顯示出來,卻沒有辦法再從相同畫面把其中一部分欄位隱藏回去。

即使右上角仍然存在「編集」或「フォームとビューを更新する」等功能, 它們也不是「既存の列を表示」對話框的另一個固定入口。

進入資料表設計器、檢視設計器或「スキーマ > 列」,可以修改資料表結構或檢視設定, 但這些操作和「列とデータ」區域中的顯示欄位選擇並不是完全相同的功能。

這算不算 Power Apps 的缺陷?

至少從使用者介面與操作流程的角度來看, 這完全可以被視為一個 UI 缺陷。

問題並不是資料損壞,也不是 Dataverse 的欄位被刪除。 真正的問題是:

  • 設定對話框沒有固定入口;
  • 入口是否顯示,取決於是否還存在未顯示的欄位;
  • 當全部欄位都被選中後,使用者失去了修改該設定的途徑;
  • 介面沒有事先警告「全部選擇後將無法重新打開此畫面」。

需要注意的是,本文所說的「缺陷」是根據實際可重現的介面行為作出的判斷, 並不代表 Microsoft 已經正式將它登錄為已知 Bug。

目前有沒有其他入口?

截至本文撰寫時,在相同的 Dataverse 資料表 Hub 畫面中, 沒有發現另一個固定存在的 「表示する列を変更」「既存の列を表示」 按鈕。

Microsoft 的官方操作文件同樣是引導使用者點擊 「+17 more」之類的剩餘欄位數量,而不是從其他選單打開該對話框。

因此,一旦所有欄位都已經顯示,原本的官方操作入口也就不復存在。

暫時的應對方式

在 Microsoft 改善這個介面之前,最穩妥的做法是:

  • 不要在「既存の列を表示」中直接勾選「すべて選択」;
  • 至少保留一個不需要顯示的欄位,使「その他の○件」入口繼續存在;
  • 僅勾選目前實際需要查看或編輯的欄位;
  • 若目的只是調整 Model-driven App 的列表欄位,應改到 View 設計器中操作;
  • 若目的只是查看資料表的完整欄位定義,應使用「スキーマ > 列」。

如果已經選擇全部欄位,之後若資料表中再次出現未顯示的可選欄位, 「その他の○件」入口有可能重新出現。 但目前並沒有一個可靠、固定且由官方文件說明的「重新打開」方法。

理想的改善方式

Microsoft 其實只需要做一個很小的修改,就能解決這個問題。 例如:

  • 讓「表示する列を変更」按鈕永久顯示;
  • 即使剩餘欄位數量為零,也顯示「その他の0件」;
  • 在欄位標題的「…」選單中增加「表示列を設定」;
  • 在「すべて選択」儲存前顯示警告;
  • 允許點擊目前顯示的欄位數量,重新打開相同對話框。

這些做法都比目前「一旦全選,設定入口就直接消失」更加符合一般使用者的操作直覺。

總結

Power Apps Dataverse 的「既存の列を表示」本身並不是刪除或建立欄位的功能, 它只是控制哪些既存欄位要顯示在「列とデータ」預覽區域中。

但由於該功能只能透過「その他の○件」進入,當使用者選擇全部欄位後, 未顯示欄位數量變成零,入口也會一起消失。

結果就是:使用者可以進行「全部顯示」,卻無法再從相同畫面進行「取消顯示」。

這不是什麼複雜的技術限制,而是一個相當典型的 UI 邏輯漏洞。 在問題被修正之前,建議不要輕易選擇「すべて選択」, 至少保留一個未顯示欄位,以免把唯一的設定入口一併藏掉。


參考資料

本文介面名稱以 Power Apps 日文版顯示內容為準。不同語言或版本中的文字可能略有差異。

This article was last edited at