You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.9 KiB
60 lines
1.9 KiB
package com.fr.design.sort.celldscolumn; |
|
|
|
import com.fr.design.sort.common.AbstractSortPane; |
|
import com.fr.general.data.TableDataColumn; |
|
import com.fr.report.cell.TemplateCellElement; |
|
import com.fr.report.cell.cellattr.core.group.DSColumn; |
|
import com.fr.report.core.sort.common.CellSortAttr; |
|
|
|
|
|
public class CellDSColumnSortPane extends AbstractSortPane { |
|
|
|
|
|
public CellDSColumnSortPane() { |
|
super(220, 150); |
|
|
|
} |
|
|
|
|
|
@Override |
|
protected void initSortGroupPane() { |
|
sortGroupPane = new CellDSColumnSortGroupPane(sortPaneWidth, sortPaneRightWidth); |
|
this.add(sortGroupPane); |
|
} |
|
|
|
|
|
@Override |
|
protected CellSortAttr getCellSortAttr(TemplateCellElement cellElement) { |
|
if (cellElement.getValue() instanceof DSColumn) { |
|
DSColumn dsColumn = ((DSColumn) cellElement.getValue()); |
|
if (dsColumn.getCellSortAttr() == null) { |
|
dsColumn.setCellSortAttr(new CellSortAttr()); |
|
} |
|
return dsColumn.getCellSortAttr(); |
|
} |
|
return null; |
|
} |
|
|
|
protected void populateSortArea(TemplateCellElement cellElement) { |
|
super.populateSortArea(cellElement); |
|
if (cellElement.getValue() instanceof DSColumn) { |
|
DSColumn dsColumn = ((DSColumn) cellElement.getValue()); |
|
TableDataColumn tableDataColumn = dsColumn.getColumn(); |
|
if (tableDataColumn instanceof TableDataColumn.ColumnName) { |
|
selfSortArea = ((TableDataColumn.ColumnName) dsColumn.getColumn()).getName(); |
|
} |
|
} |
|
} |
|
|
|
|
|
public void populateBean(TemplateCellElement cellElement) { |
|
if (cellElement.getValue() instanceof DSColumn) { |
|
DSColumn dsColumn = ((DSColumn) cellElement.getValue()); |
|
if (sortGroupPane != null) { |
|
((CellDSColumnSortGroupPane) sortGroupPane).populateDsColumn(dsColumn); |
|
} |
|
} |
|
super.populateBean(cellElement); |
|
} |
|
|
|
} |