Browse Source

REPORT-76259 【迭代】【数据连接面板为空】概率出现编辑数据集一直加载中

根据评审意见修改下,不特地分出两个方法了
newui
Yvan 3 years ago
parent
commit
31c0eb2d15
  1. 25
      designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java

25
designer-base/src/main/java/com/fr/design/data/datapane/TableDataTreePane.java

@ -402,17 +402,6 @@ public class TableDataTreePane extends BasicTableDataTreePane {
*/ */
@Override @Override
public void dgEdit(final AbstractTableDataPane<?> tableDataPane, String originalName, boolean isUpdate) { public void dgEdit(final AbstractTableDataPane<?> tableDataPane, String originalName, boolean isUpdate) {
dgEdit(tableDataPane, originalName, isUpdate, false);
}
/**
* 编辑面板
* @param tableDataPane 面板
* @param originalName 原始名字
* @param isUpdate
* @param showLater 是否立刻打开面板
*/
public void dgEdit(final AbstractTableDataPane<?> tableDataPane, String originalName, boolean isUpdate, boolean showLater) {
// 编辑时如果正在搜索,跳回原树 // 编辑时如果正在搜索,跳回原树
if (TableDataTreeSearchManager.getInstance().isInSearchMode()) { if (TableDataTreeSearchManager.getInstance().isInSearchMode()) {
TableDataTreeSearchManager.getInstance().outOfSearchMode(); TableDataTreeSearchManager.getInstance().outOfSearchMode();
@ -498,15 +487,11 @@ public class TableDataTreePane extends BasicTableDataTreePane {
doPropertyChange(dg, tdNamePanel, oldName); doPropertyChange(dg, tdNamePanel, oldName);
} }
}); });
if (showLater) { // 有些数据集(DBTableData)面板的初始化过程中是包含了SwingWorker处理(查询数据连接、查表等)的
// 有些数据集(DBTableData)面板的初始化过程中是包含了SwingWorker处理(查询数据连接、查表等)的 // 如果这里直接setVisible,可能阻塞SwingWorker的done方法,导致面板渲染出现问题
// 如果这里直接setVisible,可能阻塞SwingWorker的done方法,导致面板渲染出现问题 SwingUtilities.invokeLater(() -> {
SwingUtilities.invokeLater(() -> {
dg.setVisible(true);
});
} else {
dg.setVisible(true); dg.setVisible(true);
} });
} }
@Override @Override
@ -1060,7 +1045,7 @@ public class TableDataTreePane extends BasicTableDataTreePane {
if (hasAuth) { if (hasAuth) {
// 有权限时,关闭Loading面板,打开编辑面板 // 有权限时,关闭Loading面板,打开编辑面板
loadingDialog.setVisible(false); loadingDialog.setVisible(false);
dgEdit(tableDataPane, dsName, false, true); dgEdit(tableDataPane, dsName, false);
} else { } else {
// 无权限时,给出无权限提示 // 无权限时,给出无权限提示
loadingPane.switchTo(TableDataLoadingPane.NO_AUTH_PANE_NAME); loadingPane.switchTo(TableDataLoadingPane.NO_AUTH_PANE_NAME);

Loading…
Cancel
Save