2011-12-12 10 views
2

私はGWT2.3を使用しています。 SimplePagerをオーバーライドしてCustomPagerを開発しました。GWT SimplePager:ページャでGoTo機能を提供するには?

我々はcreateText()メソッドをオーバーライドし、そのような私たちは

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

は、今私はcurrentPageにするためにテキストボックスを使用する次のコードを使用して「4の1ページ」のような文字列を示している方法となるようユーザーはtextBoxにページ番号を入力できます。

createText((機能後藤ページ番号を入力します))私は、ユーザーのテキストボックスをカントので、文字列を返す;)+ CSS

私はこれをどのように行うことができますを提供することはできませんか?この問題を解決する方法はありますか?手動でテキストボックスを作成することができますcreateText()機能で

:TextBoxのを作成する

1)使用HTMLコード:回避策いずれか、またはサンプル・コード

答えて

3

は、これを達成するためにどのように二つの方法があります場合にはあなたが実際のイベント(すなわちChangeEventの)を処理するためのコードを記述し、を呼び出す必要がありしかし

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

:HTMLコード(XSSを回避するためのより良い使用SafeHTML templates)を使用することによって、 JSNIを使用しているSimplePagerの。

2)はSimplePagerへのTextBoxウィジェットを追加し、コンストラクタを上書き:

SimplePagerは、基本的には、順方向および逆方向リンクのためにそのコンストラクタでImageButtonsを追加する複合体です。
SimplePagerを拡張してTextBoxを追加し、コンストラクタをオーバーライドして、前方および後方のImageButton間にTextBoxを追加できます。

+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

関連する問題