如何从单元格表中删除一行 [英] How to remove a row from the Cell Table
本文介绍了如何从单元格表中删除一行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
创建新版本的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屋!
查看全文