Как открыть всплывающую панель, щелкнув ячейку в CellTable? - PullRequest
1 голос
/ 24 февраля 2012

У меня отображается CellTable, как показано ниже - enter image description here

При нажатии кнопки Удалить я хочу открыть всплывающую панель в центре экрана, которая должна содержать панель потока и кнопкувнутри него.
Прямо сейчас для кнопки Удалить у меня есть следующая функция -

deleteColumn.setFieldUpdater(new FieldUpdater<Contact, String>() {
        public void update(int index, Contact object, String value) {           
            try {
                int removeIndex = CONTACTS.indexOf(object);
                CONTACTS.remove(removeIndex);

                table.setRowCount(CONTACTS.size(), true);
                table.setRowData(CONTACTS);

                table.redraw();

            } catch(Exception e) {
                e.printStackTrace();
            }});

Я не понимаю, как обновить мою функцию для того же.Пример кода наверняка поможет.

Ответы [ 2 ]

2 голосов
/ 24 февраля 2012

Как насчет отображения PopupPanel?

Примерно так:

PopupPanel popup = new PopupPanel(true);
FlowPanel panel = new FlowPanel();
//add Button etc
popup.setSize("1100px","500px");
popup.clear();
popup.add(panel);
popup.show();
popup.center();

Если вы хотите отобразить диалог подтверждения, этот код проще:

if (Window.confirm("Do you really want to delete the dataset?"))
{
     //delete code
}
0 голосов
/ 15 мая 2012

Как-то так?

    ButtonCell buttonCell = new ButtonCell(){
        @Override
        public Set<String> getConsumedEvents() {
            // TODO Auto-generated method stub
            //return super.getConsumedEvents();
            Set<String> events = new HashSet<String>();
            events.add("click");

            return events;
        }
    };
    productTable.addColumn(new Column<ProductDetails, String>(buttonCell) {
        @Override
        public String getValue(ProductDetails object) {
            // TODO Auto-generated method stub
            return "Edit";
        }
        @Override
        public void onBrowserEvent(Context context, Element elem,
                ProductDetails object, NativeEvent event) {
            // TODO Auto-generated method stub
            super.onBrowserEvent(context, elem, object, event);
            if("click".equals(event.getType())){
                presenter.onEditButtonClicked(object);
            }
        }
    }, "Commands");

Пожалуйста, попробуйте и дайте мне знать результат.Я только что написал и пока не проверял: |

...