编辑后删除旧记录

Pho*_*One 7 gwt smartgwt

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

有没有办法删除旧记录?

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

Sam*_*ane 0

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();
    }
    });
}
});
Run Code Online (Sandbox Code Playgroud)

看看这段代码可以帮助你。