【问题标题】:Removing old record after edit编辑后删除旧记录
【发布时间】:2015-08-06 17:27:52
【问题描述】:

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

有没有办法删除旧记录?

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

【问题讨论】:

  • 你的记录bean实现equals()方法了吗?
  • 请分享一些代码以便快速响应。

标签: gwt smartgwt


【解决方案1】:

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

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

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();
    }
    });
}
});

查看此代码可以帮助您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 2021-10-19
    • 2015-04-11
    • 2012-08-04
    • 1970-01-01
    • 2018-06-05
    相关资源
    最近更新 更多