将ActionCell添加到GWT DataGrid

时间:2013-11-13 22:24:33

标签: java gwt datagrid

我正在尝试将一个动作单元添加到GWT数据网格中,但我遇到了麻烦。我查看了GWT展示,并找到了一个向celltable添加动作单元的示例,如图所示

// ActionCell.
    addColumn(new ActionCell<ContactInfo>(
        "Click Me", new ActionCell.Delegate<ContactInfo>() {
          public void execute(ContactInfo contact) {
            Window.alert("You clicked " + contact.getFullName());
          }
        }), "Action", new GetValue<ContactInfo>() {
      public ContactInfo getValue(ContactInfo contact) {
        return contact;
      }
    }, null);

这是我的尝试,但我不知道这在语法上是怎么看的,它是如何工作的?

Column<OpInventory, ActionCell<OpInventory>> checkColumn = new Column<OpInventory,
//I get an error on instantiating the Delegate
ActionCell<OpInventory>>(new ActionCell("x", new ActionCell.Delegate<OpInventory>())) {
            //this is wrong here
        @Override
        public ActionCell getValue(OpInventory object) {
            // TODO Auto-generated method stub
            return null;
        }

        };
    table.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    table.setColumnWidth(checkColumn, 40, Unit.PX);

1 个答案:

答案 0 :(得分:0)

找出了语法,在这里发布给其他人。

@SuppressWarnings({ "unchecked", "rawtypes" })
        Column<OpInventory, ActionCell> actionCellColumn = new Column<OpInventory, ActionCell>(new ActionCell("See Lots", new ActionCell.Delegate<OpInventory>() {

            @Override
            public void execute(OpInventory object) {
                // TODO Auto-generated method stub

            }
        })){

            @Override
            public ActionCell getValue(OpInventory object) {
                // TODO Auto-generated method stub
                return null;
            }

        };
        table.addColumn(actionCellColumn, "See Lot Numbers");
        table.setColumnWidth(actionCellColumn, 40, Unit.PX);