接上一文,分录添加按钮,之前的那篇文章是应为分录是在container里面的,所以有现成的系统方法可以调用,但是有的时候就是一个分录,这个时候添加按钮就需要自己写方法了,不过网上也能找到别人写好的,可以稍作修改使用:
//分录右侧添加按钮
private void addButtonToHMDEntry(KDTable table, KDWorkButton button,int width) {
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() + width);
controlPanel.add(button, new com.kingdee.bos.ctrl.swing.KDLayout.Constraints(x, 3, button.getWidth(), 19, 9));
}
}
}
另外附上调用函数
public void onLoad() throws Exception {
// TODO Auto-generated method stub
super.onLoad();
//设置单据名称默认值
if(OprtState.ADDNEW.equals(getOprtState())){
txtbillName.setText("质量通病总结");
}
btnAudit.setEnabled(true);
btnUnAudit.setEnabled(true);
//下载附件
btnSubmintAttach.setText("上传附件");
addButtonToHMDEntry(kdtEntrys,btnSubmintAttach,95);
btnSubmintAttach.setEnabled(true);
//上传附件
addButtonToHMDEntry(kdtEntrys, btnDownloadAttach, 120);
btnDownloadAttach.setEnabled(true);
//btnSubmintAttach.setVisible(true);
/*initEntriesF7();*/
}