我使用GWT2.3。 我们通过覆盖SimplePager开发了CustomPager。
我们覆盖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);
}
现在我想使用TextBox for CurrentPage,以便用户可以在textBox中输入页码。 (功能GoTo输入pageNumber)
createText()返回字符串,所以我不能用户textBox;)+无法提供css
我该怎么做?有什么方法可以解决这个问题吗?解决方法(如果有)或示例代码
答案 0 :(得分:3)
有两种方法可以达到这个目的:
1。)使用HTML代码创建TextBox :
在createText()
功能中,您可以使用HTML代码手动创建文本框(最好使用SafeHTML templates来避免XSS):
String textbox_str = "<input type='textbox' name='goto'>";
但是,您必须编写用于处理实际事件的代码(即ChangeEvent)并使用JSNI调用SimplePager的setPage()
。
2。)将TextBox小部件添加到SimplePager并覆盖构造函数:
SimplePager基本上是一个Composite,它在其构造函数中为前向和后向链接添加了ImageButtons。
您可以扩展SimplePager添加TextBox并覆盖构造函数,以在前向和后向ImageButtons之间添加TextBox。