2010-03-30 17 views
6

我需要開發一個用戶界面來輸入「if x or(y and z)then a,b,and c」。要輸入的數據本身已經非常複雜,你如何將它包裝在直觀的用戶界面中?如何爲構建條件表達式設計UI?

+3

我覺得這種類型的接口,如果有一種方法來直觀地做這種事情在視覺上我們會使用,而不是寫代碼。 – Welbog 2010-03-30 13:49:34

+0

雖然不是專門針對這個用例,但這篇文章可能會給你提供有價值的見解:http://worrydream.com/MagicInk/ – thSoft 2013-07-08 17:45:11

回答

0

這是一個很好的文章

http://www.lukew.com/ff/entry.asp?1007

我建立表單輸入福利扣減率時所使用的想法,文章。簡而言之,他建議像瘋狂的Libs一樣構建表單(將這些書記住爲小孩)。

+1

我相信這個答案根本不涉及這個問題。 – atoumey 2011-05-20 17:31:45

+0

@atoumy這不涉及?這是一種新的,不同的adlib類型創建表單的方式。也許這不是最好的答案,但它是另一種選擇,任何人都可以搜索這個問題,值得一看。 – Zoidberg 2011-05-20 17:42:33

+0

對我來說(我沒有下降,因爲我寫這個-1的分數就足夠了),你的答案是沒有用的,因爲它沒有解決實際問題。問題是關於構建條件表達式而不是填寫表單。這是兩個不同的問題。表單設計的「瘋狂庫」風格主要針對靜態表單,可以用作句子。 – 2011-05-21 11:43:37

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?

我會打破你的界面分爲兩個部分:條件和結果。

這裏的條件接口的例子:

enter image description here

的幾點思考

  • 界面開始了簡單的
  • 如果它變得複雜,這是因爲用戶建它一步一步
  • 沒有編輯或拖放 - 只是創建和刪除分支
  • 這個例子中的條件是一個簡單的下拉列表,但可能更復雜或可能否定。基本上這個界面可以讓你編寫表達式。
  • 我認爲這是一個好主意,以避免可能的話