GWT SimplePager:如何在寻呼机中提供 GoTo 功能?
Posted
技术标签:
【中文标题】GWT SimplePager:如何在寻呼机中提供 GoTo 功能?【英文标题】:GWT SimplePager : How to provide GoTo Functionality in pager? 【发布时间】:2011-12-12 07:06:15 【问题描述】:我使用的是 GWT2.3。 我们通过覆盖 SimplePager 开发了 CustomPager。
我们重写 createText() 方法,使用以下代码显示字符串,例如“Page 1 of 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);
现在我想为 CurrentPage 使用 TextBox,以便用户可以在 textBox 中输入页码。 (功能GoTo输入pageNumber)
createText() 返回字符串,所以我不能使用 textBox ;) + 不能提供 css
我该怎么做?有没有办法解决这个问题?解决方法(如果有)或示例代码
【问题讨论】:
【参考方案1】:有两种方法可以实现:
1.) 使用 HTML 代码创建文本框:
在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。
【讨论】:
感谢您的回复。在 #1 答案中:如何在 createText() 中添加 SafeHtmlTemplates ? 使用SaveHTMLBuilder
或SaveHTMLTemplate
。有关详细信息,请参阅here。
createText() 从 onRangeOrRowCountChanged() 调用的方法和 createText() 的输出在 SimplePager.java 中设置为字符串而不是 html :( 即 html_label.setText(createText()); 应该有 htmlLabel.setHtml ("...html 或字符串。")
如何在前进和后退按钮之间添加一个文本框。
你的第二个建议就像一个魅力。覆盖onLoad
并使用((HorizontalPanel) getWidget()).insert(textBox, 2)
添加我的TextBox
使其显示在中间(假设您使用4 个按钮)。以上是关于GWT SimplePager:如何在寻呼机中提供 GoTo 功能?的主要内容,如果未能解决你的问题,请参考以下文章
GWT SimplePager - 获取不正确的寻呼机索引 onclick 的 LastButton
在 Selenium 中测试 GWT SimplePager ImageButton 启用状态