Gwt 如何删除actionccell的单击处理程序?
我想根据对象的一些输入删除操作单元的单击处理程序。如何做到这一点 目前,我的代码如下所示:Gwt 如何删除actionccell的单击处理程序?,gwt,Gwt,我想根据对象的一些输入删除操作单元的单击处理程序。如何做到这一点 目前,我的代码如下所示: public static Column<vTO, vTO> createReissueButtonColumn(String columnName) { ActionCell<VolunteerTO> reListCell = new ActionCell<VTO>("Reissue", new ActionCell.Delegate<VT
public static Column<vTO, vTO>
createReissueButtonColumn(String columnName) {
ActionCell<VolunteerTO> reListCell = new ActionCell<VTO>("Reissue",
new ActionCell.Delegate<VTO>() {
@Override
public void execute(VTO object) {
// code to be executed
}
})
{
@Override
public void render(Cell.Context context,VTO value,SafeHtmlBuilder sb) {
if(null != value.getStatus() && !"".equalsIgnoreCase(value.getStatus())) {
super.render(context,value,sb);
}
}
};
Column<VTO, VTO> reListColumn = new Column<VTO, VTO>(reListCell) {
@Override
public VTO getValue(VTO object) {
return object;
}
};
reListColumn.setDataStoreName(columnName);
reListColumn.setSortable(false);
return reListColumn;
}
公共静态列
createReissueButtonColumn(字符串columnName){
ActionCell reListCell=新的ActionCell(“重新发布”,
新建ActionCell.Delegate(){
@凌驾
公共无效执行(VTO对象){
//要执行的代码
}
})
{
@凌驾
公共void呈现(Cell.Context上下文、VTO值、SafeThMLBuilder sb){
if(null!=value.getStatus()&&&!“”.equalsIgnoreCase(value.getStatus()){
超级渲染(上下文、值、sb);
}
}
};
列reListColumn=新列(reListCell){
@凌驾
公共VTO getValue(VTO对象){
返回对象;
}
};
reListColumn.setDataStoreName(columnName);
reListColumn.setSortable(假);
返回重新列表列;
}
根据您的情况,您可以忽略单击(不做任何事情)
编辑:
在代码中,在execute()方法中,您可以根据特定的条件执行某些操作,也可以不执行
或者,您可以取消此列上的单击事件:
unitTable.addCellPreviewHandler(new Handler<Unit>() {
@Override
public void onCellPreview(CellPreviewEvent<Unit> event) {
if ("click".equals(event.getNativeEvent().getType())) {
if (event.getColumn() != myTable.getColumnIndex(reListColumn)) {
// Check some condition. If necessary:
event.setCanceled(true);
}
}
}
});
unitTable.addCellPreviewHandler(新处理程序(){
@凌驾
公共void onCellPreview(CellPreviewEvent事件){
如果(“单击”.equals(event.getNativeEvent().getType())){
if(event.getColumn()!=myTable.getColumnIndex(reListColumn)){
//检查某些情况。如有必要:
event.setCancelled(true);
}
}
}
});
给你邮件id。我会和你分享吗?@AndreiVolgin我已经为他添加了。他只是有点困惑,不知道该把它放在哪里。我在安德烈对这个问题的回答上添加了你建议编辑的代码。正如你所知,问题是你应该在哪里包括像这样的更新信息。