EAS多分录标准单据的分录操作按钮是在表格右上方的,有时由于业务需求,需要添加其它的操作按钮,以满足业务需求,可以先通过BOS设计工具,在UI上任一位置添加好所需要的代码,再通过如下代码,把按钮添加到多分录表头上。当你把指定的按钮添加到分录的按钮面板上后,UI上的自动就不显示了。
先定义好方法。
/**
* 给分录上添加按钮,加到最左边
*
* @author syj
* @date 2009-7-8
*
* @param table
* @param button
*/
private void addButtonToHMDEntry(KDTable table, KDWorkButton button) {
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) {
Rectangle rect = table.getBounds();
int x = rect.width - (button.getWidth() + 86 + 5);
controlPanel.add(button, new com.kingdee.bos.ctrl.swing.KDLayout.Constraints(x, 5, button.getWidth(), 19, 9));
}
}
}
在初始化UI时,把按钮添加到分录表按钮面板上。
public void initUIContentLayout() {
super.initUIContentLayout();
addButtonToHMDEntry(kdtDetail, btnBuildRefundPlan);
}