如何从单元格表中删除一行 [英] How to remove a row from the Cell Table

查看:149
本文介绍了如何从单元格表中删除一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

起初我使用了网格。
创建新版本的GWT后,我想要替换CellTable上的网格。

解决方案

javadoc 了解详情。我的例子就像你会在那里找到的那​​样(只是一点扩展):

  public void onModuleLoad(){
final CellTable< Row> table = new CellTable< Row>();

TextColumn< Row> firstColumn = new TextColumn< Starter.Row>(){

@Override
public String getValue(Row object){
return object.firstColumn;
}
};
table.addColumn(firstColumn,header one);

TextColumn< Row> secondColumn = new TextColumn< Starter.Row>(){

@Override
public String getValue(Row object){
return object.secondColumn;
}
};
table.addColumn(secondColumn,header two);

TextColumn< Row> thirdColumn = new TextColumn< Starter.Row>(){

@Override
public String getValue(Row object){
return object.thirdColumn;
}
};
table.addColumn(thirdColumn,header three);

table.setRowCount(getList()。size());
final ListDataProvider< Row> dataProvider = new ListDataProvider< Starter.Row>(getList());
dataProvider.addDataDisplay(table);

final SingleSelectionModel< Row> selectionModel = new SingleSelectionModel< Starter.Row>();
table.setSelectionModel(selectionModel);

按钮btn =新建按钮(删除条目);
btn.addClickHandler(new ClickHandler(){

@Override
public void onClick(ClickEvent event){
Row selected = selectionModel.getSelectedObject();
if(selected!= null){
dataProvider.getList()。remove(selected);
}
}
});

RootPanel.get()。add(table);
RootPanel.get()。add(btn);

}

私人类行{

私人字符串firstColumn;
private String secondColumn;
private String thirdColumn;

public Row(String firstColumn,String secondColumn,String thirdColumn){
this.firstColumn = firstColumn;
this.secondColumn = secondColumn;
this.thirdColumn = thirdColumn;
}

}

私人LinkedList<行> getList(){
LinkedList< Row> list = new LinkedList< Row>();
list.add(new Row(first,entry,foo));
list.add(new Row(second,entry,foo));
list.add(new Row(third,entry,foo));
list.add(new Row(fourth,entry,foo));
返回列表;
}


At first I used the Grid. After creating a new version of the GWT, I want to replace the Grid on the CellTable.

解决方案

Check out the javadoc for details. My example is like the one you'll find there (just a little extended):

public void onModuleLoad() {
    final CellTable<Row> table = new CellTable<Row>();

    TextColumn<Row> firstColumn = new TextColumn<Starter.Row>() {

        @Override
        public String getValue(Row object) {
            return object.firstColumn;
        }
    };
    table.addColumn(firstColumn, "header one");

    TextColumn<Row> secondColumn = new TextColumn<Starter.Row>() {

        @Override
        public String getValue(Row object) {
            return object.secondColumn;
        }
    };
    table.addColumn(secondColumn, "header two");

    TextColumn<Row> thirdColumn = new TextColumn<Starter.Row>() {

        @Override
        public String getValue(Row object) {
            return object.thirdColumn;
        }
    };
    table.addColumn(thirdColumn, "header three");

    table.setRowCount(getList().size());
    final ListDataProvider<Row> dataProvider = new ListDataProvider<Starter.Row>(getList());
    dataProvider.addDataDisplay(table);

    final SingleSelectionModel<Row> selectionModel = new SingleSelectionModel<Starter.Row>();
    table.setSelectionModel(selectionModel);

    Button btn = new Button("delete entry");
    btn.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            Row selected = selectionModel.getSelectedObject();
            if (selected != null) {
                dataProvider.getList().remove(selected);
            }
        }
    });

    RootPanel.get().add(table);
    RootPanel.get().add(btn);

}

private class Row {

    private String firstColumn;
    private String secondColumn;
    private String thirdColumn;

    public Row(String firstColumn, String secondColumn, String thirdColumn) {
        this.firstColumn = firstColumn;
        this.secondColumn = secondColumn;
        this.thirdColumn = thirdColumn;
    }

}

private LinkedList<Row> getList() {
    LinkedList<Row> list = new LinkedList<Row>();
    list.add(new Row("first", "entry", "foo"));
    list.add(new Row("second", "entry", "foo"));
    list.add(new Row("third", "entry", "foo"));
    list.add(new Row("fourth", "entry", "foo"));
    return list;
}

这篇关于如何从单元格表中删除一行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆