dangsn
2023-08-02 54f35ae7866dac5c497372b68d03309c7eae9424
Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanel.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,154 @@
package com.vci.ubcs.codeapply;
import com.vci.base.ui.swing.VCISwingUtil;
import com.vci.base.ui.swing.components.VCIJButton;
import com.vci.base.ui.swing.components.VCIJPanel;
import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
import com.vci.base.ui.swing.components.table.VCIJTablePanel;
import com.vci.ubcs.codeapply.object.BaseModel;
import com.vci.ubcs.codeapply.object.UIFormRefer;
import java.awt.*;
import java.util.HashMap;
import java.util.Map;
public class CodeDataMainPanel extends VCIJPanel {
   /**
    * è‡ªå®šä¹‰é¡¶éƒ¨æŽ§ä»¶åŒºåŸŸ
    */
   private AttarSearchPanel customTopPanel = null;
   private UIFormRefer uiFormRefer;
   private CodeDataMainPanelActionListener actionListener = new CodeDataMainPanelActionListener(this);
   private VCIJButton btnSearch = VCISwingUtil.createVCIJButton("search", "查询", "查询", "search.png", actionListener);
   private VCIJButton btnClear = VCISwingUtil.createVCIJButton("clear_search", "清空查询条件", "清空查询条件", "clear.gif", actionListener);
   public CodeDataMainPanel(UIFormRefer uiFormRefer) {
      this.uiFormRefer=uiFormRefer;
   }
   private Map<String,String> customCondtionMap=new HashMap<>();
   public void buildPanel(){
      this.init();
   }
   private void init(){
      initComponents();
   }
   private void initComponents(){
      setLayout(new BorderLayout());
      add(createNorthBaseAttrsPanel(), BorderLayout.NORTH);
      add(createCenterDataTablePanel(), BorderLayout.CENTER);
   }
   /**
    * æ ¹æ®ç±»åž‹æ˜¾ç¤ºtable
    */
   private VCIJTablePanel<BaseModel> tablePanel = null;
   private AbstractVCIJTableDataProvider<BaseModel> dataProvider = null;
   private VCIJPanel createCenterDataTablePanel() {
      tablePanel = new VCIJTablePanel<BaseModel>(dataProvider);
      //tablePanel.setCustomButtons(getCombinedButtons());
      tablePanel.setShowExport(true);
      tablePanel.setShowPaging(true);
      tablePanel.setShowProgressBar(false);
      tablePanel.setPageButtonFlowAlign(FlowLayout.CENTER);
      tablePanel.setCustomButtonFlowAlign(FlowLayout.CENTER);
      tablePanel.buildTablePanel();
      int columnCount = tablePanel.getTable().getColumnCount();
      //tablePanel.getTable().getColumnModel().getColumn(columnCount - 2).setPreferredWidth(150);
      //tablePanel.getTable().getColumnModel().getColumn(columnCount - 4).setPreferredWidth(150);
      /**
       * ç¦æ­¢table表头拖动,防止第一列的复选框和第二列的序号拖动出问题:
       * ç‚¹å‡»æŸè¡Œï¼Œè¡¨æ ¼ä¸­çš„复选框看不到,且选中表头上的复选框系统会报错;数据信息显示不正确。
       * 2012-12-4 wangxl
       */
      tablePanel.getTable().getTableHeader().setReorderingAllowed(false);
      tablePanel.refreshTableData();
      return tablePanel;
   }
   private VCIJPanel createNorthBaseAttrsPanel(){
      VCIJPanel palRes = new VCIJPanel(new BorderLayout());
      if(getCustomTopPanel() != null){
         VCIJPanel pal = new VCIJPanel();
         pal.setLayout(new GridBagLayout());
         GridBagConstraints c = new GridBagConstraints();
         int x = 0;
         int y = 0;
         c.gridx = x++;
         c.gridy = y++;
         c.gridheight = 1;
         c.gridwidth = 1;
         c.weightx = 0;
         c.weighty = 0;
         c.fill = GridBagConstraints.NONE;
         c.anchor = GridBagConstraints.EAST;
         c.insets = new Insets(1, 1, 1, 1);
         c.ipadx = 1;
         c.ipady = 1;
         pal.add(btnSearch, c);
         c.gridx = x++;
         pal.add(btnClear, c);
         palRes.add(pal, BorderLayout.SOUTH);
         palRes.add(getCustomTopPanel(), BorderLayout.CENTER);
      }
      return palRes;
   }
   public AttarSearchPanel getCustomTopPanel() {
      return customTopPanel;
   }
   public void setCustomTopPanel(AttarSearchPanel customTopPanel) {
      this.customTopPanel = customTopPanel;
   }
   public VCIJTablePanel<BaseModel> getTablePanel() {
      return tablePanel;
   }
   public void setTablePanel(VCIJTablePanel<BaseModel> tablePanel) {
      this.tablePanel = tablePanel;
   }
   public UIFormRefer getUiFormRefer() {
      return uiFormRefer;
   }
   public void setUiFormRefer(UIFormRefer uiFormRefer) {
      this.uiFormRefer = uiFormRefer;
   }
   public AbstractVCIJTableDataProvider<BaseModel> getDataProvider() {
      return dataProvider;
   }
   public void setDataProvider(AbstractVCIJTableDataProvider<BaseModel> dataProvider) {
      this.dataProvider = dataProvider;
   }
   public Map<String, String> getCustomCondtionMap() {
      if(this.getCustomTopPanel()!=null){
         Map<String,String> newCustomCondtionMap= this.getCustomTopPanel().getAttrSearchFilterString();
         customCondtionMap.putAll(newCustomCondtionMap);
      }
      return customCondtionMap;
   }
   public void setCustomCondtionMap(Map<String, String> customCondtionMap) {
      this.customCondtionMap = customCondtionMap;
   }
   /**
    * æ¸…空条件
    * <p>Description: </p>
    *
    * @author liujw
    */
   public void clearCustomTopPanel(){
      customCondtionMap.clear();
      AttarSearchPanel search = (AttarSearchPanel)getCustomTopPanel();
      search.clear();
   }
}