Hi Chengh, > 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.
Can yo tell me what do you mean when you say it does not display correctly? What exactly is the problem? Will it be possible for you to send a small running smaple that demonstrates the problem? I have attached a small sample which has 1000 rows and it works correctlty. Thanks and regards, Janak >-----Original Message----- >From: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] Behalf Of chenghh >Sent: Monday, April 02, 2007 1:06 PM >To: ulc-developer >Subject: [ULC-developer] When FixColumnTable scroll down,fix >column is not freshed! > > >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(pr >eferredSize); > >this.getCorner(ULCScrollPane.UPPER_LEFT_CORNER).setMaximumSize(pref >erredSize); > >this.getCorner(ULCScrollPane.UPPER_LEFT_CORNER).setMinimumSize(pref >erredSize); > 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 >P�z鳍����x��,'介リ��q�∈�?�槽jzr������+�w��u��
ULCFixedColumnExample.java
Description: Binary data
