исправил старый баг. при синхронизации бд не восстанавливались поставленные галки а текущий объект был реализован странно

This commit is contained in:
2024-10-17 23:27:47 +03:00
parent 4c2d39cb92
commit 96df1c3a18
6 changed files with 42 additions and 40 deletions

View File

@@ -272,12 +272,16 @@ public abstract class Database {
protected abstract void resetAI(DBTable table) throws Exception;
//-
public void SaveLastSelections() {
for (DataSet dataSet : tables.values())
dataSet.SaveLastSelections();
for (DataSet dataSet : tables.values()) {
if (dataSet.getUI() != null)
dataSet.getUI().SaveLastCurrent();
}
}
public void RestoreLastSelections() {
for (DataSet dataSet : tables.values())
dataSet.RestoreLastSelections();
for (DataSet dataSet : tables.values()) {
if (dataSet.getUI() != null)
dataSet.getUI().RestoreLastCurrent();
}
}
//---
public abstract PassCode_ getSynchronizePassCode(); //если бд есть на сервере.

View File

@@ -15,9 +15,6 @@ import java.util.LinkedHashMap;
import java.util.Vector;
import java.util.stream.Collectors;
public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
//-
public LinkedHashMap<Class, Object> selections = new LinkedHashMap<>();
//---
public String Name;
public Class<K> k; //класс первичного ключа.
public Class<D> d; //класс объектов.
@@ -52,7 +49,7 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
public void SetCurrentObjectByUI(Object pk) {
if (ui != null) {
ui.ClearSelection(); //сброс текущего объекта и всего что с ним связано.
ui.Select(pk);
ui.SetCurrentByPK(pk);
}
}
protected DataSetControlForm createUI(JPanel mountPanel) {
@@ -218,24 +215,6 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
}
return res;
}
public void SaveLastSelections() {
if (ui!=null) {
Object lastPk = null;
if ((CurrentName() != null) && (getCurrent() != null))
lastPk = getCurrent().getPK();
if (!selections.containsKey(getClass()))
selections.put(getClass(), lastPk);
else selections.replace(getClass(), lastPk);
}
}
public void RestoreLastSelections() {
if (ui!=null) {
Object lastPk = selections.get(getClass());
if ((CurrentName() != null) && (lastPk != null)) {
ui.Select(lastPk);
}
}
}
//-------------------------------------------------------------------------------------
public PassCode_ getDeletePassCode() {
return null;