EAS BOS 如何禁指定表格的多分录按钮

来源:互联网 发布:matlab 矩阵子集 编辑:程序博客网 时间:2024/05/21 12:39

/**
  * 禁用指定表格的多分录按钮
  *
  * @param table
  */
 public static void disableHMDEntryButtons(KDTable table) {
  List<String> list = new ArrayList<String>();
  list.add(HMD_ADDNEWLINE);
  list.add(HMD_INSERTLINE);
  list.add(HMD_REMOVELINE);
  disableHMDEntryButtons(table, list);
 }

   /**
  * 禁用指定表格的指定名称的多分录按钮
  *
  */
 public static void disableHMDEntryButtons(KDTable table,
   List<String> nameList) {
  if (table.getParent() == null || table.getParent().getParent() == null)
   return;
  // 隐藏按钮
  Component c = table.getParent().getParent();
  if (c instanceof JPanel) {
   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;
      if (nameList == null){
       workButton.setEnabled(false);
          workButton.setVisible(false);
      }
      else if (nameList.contains(workButton.getName())){
       workButton.setEnabled(false);
       workButton.setVisible(false);
      }
     }
    }
   }
  }
 }
 

原创粉丝点击