2

私はGWT2.3を使用しています。SimplePager をオーバーライドして CustomPager を開発しました。

次のコードを使用して、「Page 1 of 4」のような文字列を表示するように 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);
      }

ここに画像の説明を入力

ここで、CurrentPage に TextBox を使用して、ユーザーが textBox にページ番号を入力できるようにします。(機能 GoTo 入力されたページ番号)

createText() は文字列を返すので、ユーザー textBox を使用できません;) + css を提供できません

これどうやってするの ?この問題を解決する方法はありますか? 回避策がある場合、またはサンプル コード

4

1 に答える 1

3

これを実現するには、次の 2 つの方法があります。

1.) HTML コードを使用して TextBox を作成します

このcreateText()関数では、HTML コードを使用して手動でテキスト ボックスを作成できます ( XSS を回避するには、 SafeHTML テンプレートを使用することをお勧めします)。

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

ただし、実際のイベント (ChangeEvent など) を処理するためのコードを記述し、setPage()JSNI を使用して SimplePager を呼び出す必要があります。

2.) TextBox ウィジェットを SimplePager に追加し、コンストラクターをオーバーライドします

SimplePagerは基本的に、前後のリンクのコンストラクターに ImageButtons を追加する Composite です。
SimplePager を拡張して TextBox を追加し、コンストラクターをオーバーライドして、前後の ImageButton の間に TextBox を追加できます。

于 2011-12-12T15:10:31.667 に答える