Gwt 编辑后删除旧记录

Gwt 编辑后删除旧记录,gwt,smartgwt,Gwt,Smartgwt,因此,当前,当我在扩展VLayout的面板上编辑记录时,双击该字段,更改文本,然后按enter键保存编辑。新编辑的记录显示为独立记录,而我刚刚编辑的记录仍然存在 有没有办法删除旧记录 myForm.getDataSource().updateData(currentRecord, new DSCallback() { @Override

因此,当前,当我在扩展
VLayout
的面板上编辑记录时,双击该字段,更改文本,然后按enter键保存编辑。新编辑的记录显示为独立记录,而我刚刚编辑的记录仍然存在

有没有办法删除旧记录

myForm.getDataSource().updateData(currentRecord, new DSCallback()
                        {
                            @Override
                            public void execute(DSResponse response, Object rawData, DSRequest request)
                            {
                                window.hide();
                            }
                        });

SmartGwt不支持此操作的自定义行为。你应该自己编程

只需创建一个新的ListGridField,并在删除操作后刷新回调中的第二个网格。您的第一种方法可能是:

ListGridField removeListGridField = new ListGridField("removeButton", 20);

removeListGridField.setType(ListGridFieldType.ICON);
removeListGridField.setCellIcon("[SKIN]actions/remove.png");
removeListGridField.setCanEdit(false);
removeListGridField.setCanFilter(false);
removeListGridField.setCanGroupBy(false);
removeListGridField.setCanSort(false);
removeListGridField.setCanDragResize(false);
removeListGridField.setCanFreeze(false);
removeListGridField.setCanHide(false);

removeListGridField.addRecordClickHandler(new RecordClickHandler()
{
    @Override
    public void onRecordClick(RecordClickEvent event)
    {
        if (event.getRecord() == null) // local record
        {
            discardEdits(event.getRecordNum(), 0);
            yourGrid.fetchData();
        }
        else
            removeData(event.getRecord(), new DSCallback()
        {
        @Override

    public void execute(DSResponse dsResponse, Object data, DSRequest dsRequest)
    {
        yourGrid.fetchData();
    }
    });
}
});

查看此代码可以帮助您。

您的记录bean是否实现了
equals()
方法?请共享一些代码以快速响应。