Hello,all
      
      I use a fixedColumnTable in my application,if the table has too many 
rows,when the table scroll down  ,the fixed column does not right display,but 
the unfixed column can right sshow. I use ulc-6.0.1,weblogic,db2 database,the 
fixedColumnTable is as follows:
    

package pbs.mysortedAndFixedTable.view;

import com.ulcjava.base.application.ULCScrollPane;
import com.ulcjava.base.application.ULCComponent;
import com.ulcjava.base.application.ULCScrollPane;
import com.ulcjava.base.application.ULCBoxPane;
import com.ulcjava.base.application.*;
import com.ulcjava.base.application.table.AbstractTableModel;
import pbs.mysortedAndFixedTable.model.*;
import com.ulcjava.base.application.util.Dimension;
import com.ulcjava.base.application.table.*;


public class FixedColumnTablePane extends ULCScrollPane {
    private TableModel fFixedTableModel;
    private TableModel fUnFixedTableModel;
    private ULCTable fFixedTable;
    private ULCTable fUnFixedTable;

    public FixedColumnTablePane(TableModel fixedTableModel,TableModel 
unFixedTableModel){

       fFixedTableModel=fixedTableModel;
       fUnFixedTableModel=unFixedTableModel;

       fFixedTable = new ULCTable();
       fFixedTable.setAutoCreateColumnsFromModel(false);
       fFixedTable.setModel(fixedTableModel);
       fFixedTable.setAutoResizeMode(ULCTable.AUTO_RESIZE_OFF);
       fFixedTable.setShowGrid(true);

       fUnFixedTable= new ULCTable();
       fUnFixedTable.setAutoCreateColumnsFromModel(false);
       fUnFixedTable.setModel(unFixedTableModel);
       fUnFixedTable.setShowGrid(true);
       fUnFixedTable.setAutoResizeMode(ULCTable.AUTO_RESIZE_OFF);


       this.setViewPortView(fUnFixedTable);
       this.setCorner(ULCScrollPane.UPPER_LEFT_CORNER, 
fFixedTable.getTableHeader());
       this.setRowHeaderView(fFixedTable);

       Dimension preferredSize = new Dimension(35*3, -1);
       this.getRowHeaderView().setMaximumSize(preferredSize);
       this.getRowHeaderView().setPreferredSize(preferredSize);
       this.getRowHeaderView().setMinimumSize(preferredSize);

       this.setVisible(true);
       this.setAutoscrolls(true);
    }

    public void setModel(TableModel fixedTableModel,TableModel 
unFixedTableModel ){
       fFixedTableModel=fixedTableModel;
       fUnFixedTableModel=unFixedTableModel;

       if((fFixedTableModel!=null)&&(fFixedTableModel.getColumnCount()>0)){
         fFixedTable.setModel(fFixedTableModel);
         addColumn(fFixedTable,fFixedTableModel);
         fFixedTableModel.fireTableStructureChanged();

          
if((fUnFixedTableModel==null)||(fUnFixedTableModel.getColumnCount()==0)){
             this.setViewPortView(fFixedTable);
          }else{
            this.setViewPortView(fUnFixedTable);
            this.setRowHeaderView(fFixedTable);
            this.setCorner(ULCScrollPane.UPPER_LEFT_CORNER, 
fFixedTable.getTableHeader());
          }
       }else{
          this.setRowHeaderView(null);
       }
       if((fUnFixedTableModel!=null)&&(fUnFixedTableModel.getColumnCount()>0)){
         fUnFixedTable.setModel(fUnFixedTableModel);
         addColumn(fUnFixedTable,fUnFixedTableModel);
         fUnFixedTableModel.fireTableStructureChanged();
         this.setViewPortView(fUnFixedTable);
       }

       Dimension preferredSize = new Dimension(105,-1);

       this.getRowHeaderView().setMaximumSize(preferredSize);
       this.getRowHeaderView().setPreferredSize(preferredSize);
       this.getRowHeaderView().setMinimumSize(preferredSize);

       
this.getCorner(ULCScrollPane.UPPER_LEFT_CORNER).setPreferredSize(preferredSize);
       
this.getCorner(ULCScrollPane.UPPER_LEFT_CORNER).setMaximumSize(preferredSize);
       
this.getCorner(ULCScrollPane.UPPER_LEFT_CORNER).setMinimumSize(preferredSize);
       this.upload();
    }


    public void addColumn(ULCTable table,TableModel tableModel){
      if((table==null)||(tableModel==null)){
        return;
      }
      for(int i=0;i<tableModel.getColumnCount();i++){
        table.addColumn(new ULCTableColumn(i, 35, null, null));
      }

    }

    public TableModel getFixedTableModel(){
      return fFixedTableModel;
    }

    public TableModel getUnFixedTableModel(){
      return fUnFixedTableModel;
    }

    public ULCTable getFixedTable(){
      return fFixedTable;
    }

    public ULCTable getUnFixedTable(){
      return fUnFixedTable;
    }
}
}Any advise will be appreciated,Thanks in advance!

       
                                

        chenghh
[EMAIL PROTECTED]
          2007-04-02

Reply via email to