如何使datepicker单元格可编辑?

时间:2013-09-04 12:20:05

标签: java gwt datepicker

我在我的celltable中使用GWT datepicker单元格。在这里onclick事件和输入事件它弹出datepicker并将单元格值设置为我们选择的日期。现在我想从单元格中删除所选日期并将单元格设置为空白,为此做任何解决方法吗?

修改

  public void onBrowserEvent(Context context, Element parent, Date value, 
                             NativeEvent event, ValueUpdater<Date> valueUpdater) {
       super.onBrowserEvent(context, parent, value, event, valueUpdater);
       if ("click".equals(event.getType())) 
       { 
           valueUpdater.update(null); 
       } 
 }

1 个答案:

答案 0 :(得分:0)

根据我的理解,您想从表格单元格中删除日期。

执行此操作的一种方法是修改DatePickerCell的构造函数并添加一个清除日期的按钮。

首先在您的progect中复制com.google.gwt.cell.client.DatePickerCell

不幸的是,编辑器无法修改,您必须复制编辑器。 (所有成员都是私人的)

HorizontalPanel horizontalPanel = new HorizontalPanel();

Button button = new Button("Clear");
button.addClickHandler(new ClickHandler()
{
    //@Override
    public void onClick(ClickEvent event)
    {
        // Remember the values before hiding the popup.
        Element cellParent = lastParent;
        Date oldValue = lastValue;
        Object key = lastKey;
        int index = lastIndex;
        int column = lastColumn;
        panel.hide();

        // Update the cell and value updater.
        Date date = null;
        setViewData(key, date);
        setValue(new Context(index, column, key), cellParent, oldValue);
        if (valueUpdater != null) {
          valueUpdater.update(date);
        }
    }
});

horizontalPanel.add(button);