KDTable目前本身并不支持排序功能,但提供了排序的接口,用户通过实现该接口(ISortManager)即可实现排序的功能。同时KDTable提供了一个简单实现KDTSortManager,这个类完成了能够记录上一排序列,并自动调整表头的显示(如显示上箭头或下箭头),用户只需继承并重载该类的一些方法即可完整实现排序功能。
示例
sm = new KDTSortManager(table)
{
public void sort(int colIndex, int sortType)
{
super.sort(colIndex, sortType);
if (sortType == KDTSortManager.SORT_ASCEND)
{
// TODO: do your action here
System.out.println("col:" + colIndex + "ASCEND");
}
else
{
// TODO: do your action here
System.out.println("col:" + colIndex + "DESCEND");
}
}
};
this.table.addKDTMouseListener(new KDTMouseListener()
{
public void tableClicked(KDTMouseEvent e)
{
if (e.getClickCount() == 2)
{
sm.sort(e.getColIndex());
}
}
});