удаление объектов в таблицах по клавише DELETE

This commit is contained in:
2024-10-16 21:58:46 +03:00
parent c902dd0b91
commit 592ef14909
26 changed files with 162 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ package Common.Database.Tables;
import Common.Current_;
import Common.Database.Objects.DBObject;
import Common.MainModule_;
import Common.Passes.PassCode_;
import Common.Utils.TextLog;
import Common.Visual.DataSetControlForm;
import Common.Visual.DataSetFilter;
@@ -327,4 +328,5 @@ public class DataSet<K, D extends DBObject> extends DataSetAnchestor {
}
}
//-------------------------------------------------------------------------------------
public PassCode_ getDeletePassCode(){return null;}
}

View File

@@ -18,6 +18,8 @@ import Common.Visual.Tables.Grid.GridAnchestor;
import javax.swing.*;
import javax.swing.table.TableColumn;
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Arrays;
@@ -39,8 +41,6 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
dataSource = dataSource_in;
//---
dataPanel = new JPanel(new BorderLayout());
content.add(dataPanel, BorderLayout.CENTER);
}
public JPanel getDataPanel() {
@@ -252,6 +252,26 @@ public class DataSetControlForm extends ControlWithCurrentForm<DataTable> {
}
}
});
control.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_DELETE:
if (dataSource.getDeletePassCode() != null) {
MainModule_.instance.getPass(dataSource.getDeletePassCode()).Do();
}
break;
case KeyEvent.VK_ENTER:
try {
MouseAction2();
} catch (Exception ex) {
Utils_.MainLog.PrintException(ex);
}
break;
}
}
}
);
//----------------------------------------------------------------------------
//при переотображении таблицы скидываем текущий объект!!
getDataSource().dropCurrent();