public void ini()
{
String time = sdf.format(new java.util.Date());
String date = time.substring(0,10);
recordtv.setContentProvider(new TableViewercontentProvider());
recordtv.setLabelProvider(new RecordTableViewerLabelProvider());
int iCount = recordtv.getTable().getColumnCount();
for (int j = 0; j < iCount; j++)
{
recordtv.getTable().getColumns()[j].addSelectionListener(new SortTableColumn(recordtv));
}
recordtv.setInput(rHandler.findTodayAll(date));
}
//----------------
addRecord()
recordtv.getTable().removeAll();
String date = time.substring(0,10);
recordtv.setInput(rHandler.findTodayAll(date));
recordtv.getTable().setSelection(recordtv.getTable().getItemCount() - 1);
//--------------------------------------------------------------------------------------------------
/*
* Created on 2006/6/2 TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.time.main;
import java.util.List;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
/**
* @author TODO To change the template for this generated type comment go to Window - Preferences - Java - Code Style - Code Templates
*/
public class TableViewercontentProvider implements IStructuredContentProvider
{
public TableViewercontentProvider()
{
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
public Object[] getElements(Object element)
{
// TODO Auto-generated method stub
if (element instanceof List)
return ((List) element).toArray();
else
return new Object[0];
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
public void dispose()
{
// TODO Auto-generated method stub
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
*/
public void inputChanged(Viewer arg0, Object arg1, Object arg2)
{
// TODO Auto-generated method stub
}
}
//--------------------------------------------------------------------------
/*
* Created on 2006/6/2 TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package com.time.main;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;
import com.time.entity.Record;
import com.time.entity.Users;
/**
* @author f3210623 Window - Preferences - Java - Code Style - Code Templates
*/
public class RecordTableViewerLabelProvider implements ITableLabelProvider
{
public RecordTableViewerLabelProvider()
{
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
*/
public Image getColumnImage(Object arg0, int arg1)
{
// TODO Auto-generated method stub
if (arg1 == 0)
{
// return FoxlinkUtil.getImageRegistry().get("user");
}
return null;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
*/
public String getColumnText(Object element, int col)
{
// TODO Auto-generated method stub
Record record = (Record) element;
if (col == 0)
return record.getEmployeeID();
if (col == 1)
{
return record.getName();
}
if (col == 2)
{
return record.getTime();
}
// if(col == 3)
// {
//
// }
// if (col == 4)
//
return null;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
*/
public void addListener(ILabelProviderListener arg0)
{
// TODO Auto-generated method stub
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
*/
public void dispose()
{
// TODO Auto-generated method stub
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
*/
public boolean isLabelProperty(Object arg0, String arg1)
{
// TODO Auto-generated method stub
return false;
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
*/
public void removeListener(ILabelProviderListener arg0)
{
// TODO Auto-generated method stub
}
}
//---------------------------------------------------------------------------
package com.time.main;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.widgets.TableColumn;
/*
* table sort
*/
public class SortTableColumn implements SelectionListener
{
private TableViewer tableViewer;
private int preIndex;
private int i = 0;
public SortTableColumn(TableViewer tableViewer)
{
this.tableViewer = tableViewer;
}
public void widgetSelected(SelectionEvent e)
{
i = (i % 2) + 1;
final TableColumn tb = ((TableColumn) e.widget);
int index = tableViewer.getTable().indexOf(tb);
if (index != preIndex)
{
tableViewer.getTable().getColumn(preIndex).setImage(null);
preIndex = index;
}
if (i % 2 == 0)
{
tableViewer.setSorter(new RecordSorter(index, true));
}
else
{
tableViewer.setSorter(new RecordSorter(index, false));
}
}
public void widgetDefaultSelected(SelectionEvent e)
{
}
}
//------------------------------------------------------------------------
package com.time.main;
import org.eclipse.jface.viewers.IBaseLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerSorter;
import com.time.entity.Record;
public class RecordSorter extends ViewerSorter
{
private int column;
private boolean ascend;
public RecordSorter(int column, boolean ascend)
{
super();
this.column = column;
this.ascend = ascend;
}
public int category(Object element)
{
return (element instanceof Record) ? 1 : 0;
}
public int compare(Viewer viewer, Object e1, Object e2)
{
String name1 = null;
String name2 = null;
if (viewer == null || !(viewer instanceof TableViewer))
return super.collator.compare(e1, e2);
IBaseLabelProvider prov = ((TableViewer) viewer).getLabelProvider();
if (prov instanceof RecordTableViewerLabelProvider)
{
RecordTableViewerLabelProvider cftlp = (RecordTableViewerLabelProvider) prov;
name1 = cftlp.getColumnText(e1, column);
name2 = cftlp.getColumnText(e2, column);
}
if (name1 == null)
name1 = "";//$NON-NLS-1$
if (name2 == null)
name2 = "";//$NON-NLS-1$
System.out.println("name1:" + name1 + " name2:" + name2);
if (ascend)
return super.collator.compare(name1, name2);
else
return super.collator.compare(name2, name1);
}
}
//--------------------------------------------------------------------