SWT Table数据

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);
 }
}
//--------------------------------------------------------------------

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山月神话

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值