EAS多分录标准单据的分录操作按钮是在表格右上方的,有时由于业务需求,这部分数据要自动生成,不充许操作,可能需要禁用或隐藏这些按钮,由于框架没有提供相应的接口,可以通过以下代码来实现
public static void disableHMDEntryButtons(KDTable table) {
if (table.getParent() == null || table.getParent().getParent() == null)
return;
// 隐藏按钮
Component c = table.getParent().getParent();
if (c instanceof DetailPanel) {
JPanel panel = (JPanel) c;
JPanel controlPanel = null;
// 获取controlPanel
Component[] components = panel.getComponents();
for (int i = 0; i < components.length; i++) {
Component component = components[i];
if ("controlPanel".equals(component.getName())) {
controlPanel = (KDPanel) component;
}
}
// 获取btn
if (controlPanel != null) {
components = controlPanel.getComponents();
for (int j = 0; j < components.length; j++) {
Component component = components[j];
if (component instanceof KDWorkButton) {
KDWorkButton workButton = (KDWorkButton) component;
workButton.setEnabled(false);
}
}
}
}
}