2011-12-12 32 views
2

我正在使用GWT2.3。 我們通過重寫SimplePager開發了CustomPager。GWT SimplePager:如何在傳呼機中提供GoTo功能?

我們覆蓋createText()方法,使得我們顯示的字符串,如「第1頁4」使用下面的代碼

public String createText() { 
     if(searchRecordCount%pageSizeForText == 0){ 
      totalPages = searchRecordCount/pageSizeForText; 
     }else{ 
      totalPages = (searchRecordCount/pageSizeForText) + 1; 
     } 
     NumberFormat formatter = NumberFormat.getFormat("#,###"); 
     return "Page "+formatter.format(this.getPage()+1) + " of " + formatter.format(totalPages); 
     } 

enter image description here

現在我想使用文本框的當前頁的方式,使用戶可以在文本框中輸入頁碼。 (功能轉到進入PAGENUMBER)

createText()返回字符串,所以我不能用戶的textBox;)+不能提供的css

我怎樣才能做到這一點?有什麼辦法可以解決這個問題嗎?解決方法如果任何或示例代碼

回答

3

有兩種方法如何實現這一點:

1)使用HTML代碼來創建一個TextBox

createText()功能,您可以手動創建文本框通過使用HTML代碼(更好的使用SafeHTML templates避免XSS):

String textbox_str = "<input type='textbox' name='goto'>"; 

但是你必須編寫代碼處理實際事件(即的ChangeEvent)和呼叫使用JSNI的SimplePager的。

2)添加文本框控件來SimplePager並重寫構造

SimplePager基本上是一種複合材料,其增加了ImageButtons在其構造前向和反向鏈接。
可以擴展SimplePager添加一個文本框和重寫構造函數中添加向前和向後ImageButtons之間的文本框中。

+0

感謝您的答覆。在#1答案:如何在createText()中添加SafeHtmlTemplates? – StackOverFlow

+0

使用「SaveHTMLBuilder」或「SaveHTMLTemplate」。請參閱[這裏](http://code.google.com/webtoolkit/doc/latest/DevGuideSecuritySafeHtml.html#Creating_SafeHtml_Values)詳細信息。 –

+0

從onRangeOrRowCountChanged()和createText()的輸出稱爲createText()方法設定爲字符串中SimplePager.java不是HTML :(即html_label.setText(createText());應該有htmlLabel.setHtml(」 ... HTML或串「。) – StackOverFlow