我需要開發一個用戶界面來輸入「if x or(y and z)then a,b,and c」。要輸入的數據本身已經非常複雜,你如何將它包裝在直觀的用戶界面中?如何爲構建條件表達式設計UI?
6
A
回答
0
這是一個很好的文章
http://www.lukew.com/ff/entry.asp?1007
我建立表單輸入福利扣減率時所使用的想法,文章。簡而言之,他建議像瘋狂的Libs一樣構建表單(將這些書記住爲小孩)。
0
它會一直是這樣的二進制邏輯嗎(只是Or's,And's和Not's)?如果是這樣的話,您可以將UI設計爲logic diagram設計器,類似於設計電路邏輯中使用的設計器。
2
這裏是我如何解決bug數據庫問題的一個例子。這樣做是十年前在Linux中,所以將L & F是相當主題十歲上下,但它顯示的總體思路:
alt text http://www1.clearlight.com/~oakley/dbquery.jpg
它的工作原理像您期望的漂亮多了。您可以將「以下任何一項」更改爲「以下所有項目」,後續各行的標籤將從「或」更改爲「和」。 「IS」按鈕可以更改爲「不是」以及「匹配模式」和其他一些選擇。
您單擊+/-按鈕添加其他條件。您可以創建邏輯組,允許您執行像「a或(b和c)」這樣的表達式,但它仍然幾乎像是一組英文句子。
在你的情況,而不是一個「順序」部分,你可能有一個「做這些事情」部分。
如果你必須創建非常複雜的查詢,這會很麻煩,但是如果你需要一個複雜的查詢,你可能很聰明,不需要像這樣的GUI。這是爲偶然用戶設計的更簡單的即席查詢。
我肯定會改變這種看起來的樣子,如果我再做一遍,但基本的機制工作得很好。
1
下面是一個類似的問題,我的回答:Intuitive interface for Composing Boolean Logic?
我會打破你的界面分爲兩個部分:條件和結果。
這裏的條件接口的例子:
的幾點思考
- 界面開始了簡單的
- 如果它變得複雜,這是因爲用戶建它一步一步
- 沒有編輯或拖放 - 只是創建和刪除分支
- 這個例子中的條件是一個簡單的下拉列表,但可能更復雜或可能否定。基本上這個界面可以讓你編寫表達式。
- 我認爲這是一個好主意,以避免可能的話
相關問題
- 1. 如何構建具有多個條件的Lambda表達式樹
- 2. 在DataTable上構建表達式,設計建議?
- 3. 構建計算圖形表達式
- 4. 構建表達式
- 5. RxJava-計算表達式與條件表達式
- 6. 無法計算genvar條件表達式
- 7. 如何構建SSIS表達式?
- 8. linq表達式是如何構建的?
- 9. 構建條件SQL語句的設計模式
- 10. 使用Extendscript修改RoboHelp中的條件構建表達式
- 11. 如何在if條件中重構複雜的表達式?
- 12. Angular UI Bootstrap進度條 - 如何用表達式計算「value」屬性?
- 13. 構建表達式樹
- 14. 構建表達式樹
- 15. Boost.Regex表達式構建
- 16. 構建正則表達式
- 17. 構建正則表達式
- 18. 如何在Java腳本中爲OR條件構造正則表達式?
- 19. 如何爲多列OrderBy創建表達式樹表達式
- 20. 如何反思T爲查詢構建表達式樹?
- 21. 如何爲多級屬性/子屬性構建表達式樹
- 22. 如何構建邏輯表達式爲先進的切片
- 23. 如何計算表達式
- 24. 如何計算表達式
- 25. 如何使Ruby變量在條件表達式中計算爲false
- 26. 如何在某些條件下創建正則表達式?
- 27. 如何基於某些條件創建正則表達式
- 28. 如何創建這個表達式這個條件
- 29. 正則表達式爲條件
- 30. 條件表達式行爲不正確
我覺得這種類型的接口,如果有一種方法來直觀地做這種事情在視覺上我們會使用,而不是寫代碼。 – Welbog 2010-03-30 13:49:34
雖然不是專門針對這個用例,但這篇文章可能會給你提供有價值的見解:http://worrydream.com/MagicInk/ – thSoft 2013-07-08 17:45:11