2011-03-17 42 views
1


我有以下情況:
我需要一個顯示Employees的列表框。就此而言,員工具有以下屬性 - id,name和department_name。我希望能夠顯示員工的姓名(甚至可能是department_name),但是當用戶選擇我想訪問員工ID的記錄時(因爲它是唯一的唯一標識符)。我不能使用id來查看,因爲它沒有商業意義。
我寧願不使用任何外部庫,在任何情況下我都不想使用smartGWT。
由於提前,
以太帶有隱藏ID列的GWT列表框(甚至可能還有一個額外的可視列)

+0

只是爲了說清楚。我搜索了一下,看了看文檔,找不到明顯的方式,所以我在這裏問。這不是因爲我沒有試圖解決這個問題:) – Ittai 2011-03-17 13:59:31

回答

2

按照該GWT api,當你設置一個列表框項目,可以設置「項」和「價值」作爲獨立的實體,然後你就可以拿回經指數:

ListBox list = new ListBox(); 
list.addItem("John Smith", 1); 
list.addItem("Jane Doe", 2); 

int index = list.getSelectedIndex(); /// assuming selected index is zero for example 
list.getValue(index); // ----> returns "John Smith" 
list.getItemText(index); // ------> returns "1" 
+0

謝謝!當我環顧四周時,我不知道自己的腦袋在哪裏......你是否知道是否有任何方法可以顯示第二列?即兩列的列表框?或作爲替代每個行的「alt」屬性?我會在明天早上等到我接受你的答案,因爲我希望有人可能會提出額外的部分。 – Ittai 2011-03-17 19:06:34

+1

如果您想要做第二列,那麼我認爲您需要使用[CellList](http://google-web-toolkit.googlecode.com/svn/javadoc/2.2/com/google/gwt/user/ cellview/client/CellList.html)與兩個TextCells(或兩列CellTable)的CompositeCell。而且由於ListBox只是一個