根据我的要求,我编写了一个自定义面板,它将显示三个列表框,以使用户能够从此自定义列表框中选择日期。这三个列表框负责显示月、日、年值。现在我想让我的三个列表框可以编辑并且同时可以选择。我的意思是我想提供一个用户偏好,日期可以编辑,同时可以选择。我怎样才能在 GWT 中做到这一点。这里我使用的是 GWT2.0。任何人请给出一个想法。
问问题
4979 次
3 回答
2
浏览器不提供这样的控件。GWT 也没有。您需要自己编写代码。EXT-GWT(not free) ComboBox 有这个功能。http://www.extjs.com/examples/ Smart GWT 也是如此(也不是免费的)http://www.smartclient.com/smartgwt/showcase/#styled_combobox_category
如果您要自己滚动,您将从具有 TextBox 和 VerticalPanel 的 Composite 开始,当单击 TextBox(或它的一部分)时会显示该面板。您的面板将包含可点击的项目。
于 2010-05-25T06:57:59.677 回答
1
您可以使用建议框而不是列表框来解决这个问题。但是用户必须开始输入才能显示列表。
于 2010-05-26T09:46:16.090 回答
0
您可以使用绝对面板来实现相同的效果......下面是代码片段。
使用文本框隐藏选择框调整文本框的宽度和位置,使其覆盖下拉列表...
final AbsolutePanel absolute_panel_edit_list = new AbsolutePanel();
final TextBox onhold_textbox = new TextBox();
final ListBox onhold = new ListBox();
for (int onholdcount = 0; onholdcount < onHoldTypes.length; onholdcount++)
{
onhold.addItem(onHoldTypes[onholdcount]);
}
onhold.addKeyPressHandler(new KeyPressHandler()
{
@Override
public void onKeyPress(KeyPressEvent event)
{
onhold_textbox.setStyleName("onhold_textbox");
absolute_panel_edit_list.add(onhold,0,8);
absolute_panel_edit_list.add(onhold_textbox,1,10);
absolute_panel_edit_list.setSize("142px", "35px");
flex_row4.removeCell(4, 9);
flex_row4.setWidget(4, 9, absolute_panel_edit_list);
onhold_textbox.addMouseOutHandler(new MouseOutHandler()
{
@Override
public void onMouseOut(MouseOutEvent event)
{
String customized_time = onhold_textbox.getText();
int no_of_elements = onhold.getItemCount();
onhold.addItem(customized_time);
onhold.setSelectedIndex(no_of_elements);
flex_row4.removeCell(4, 9);
flex_row4.setWidget(4, 9, onhold);
flex_row4.setWidget(4, 11, completed_togglebutton);
flex_row4.setWidget(4, 13, completed_label);
}
});
}
});
于 2010-07-06T11:31:24.827 回答