Closed danielwoolf closed 5 years ago
Not to worry... I override setAllItems
in my adapter to keep a reference to the header and cell Lists and then used this method in an OnClickListener
within onCreateCornerView
. i.e.
private List<RowHeader> mRowHeaderList ;
private List<ColumnHeader> mColumnHeaderList;
private List<List<Cell>> mCellList;
//......
//......
@Override
public void setAllItems(List<ColumnHeader> columnHeaderItems, List<RowHeader> rowHeaderItems, List<List<Cell>>
cellItems) {
super.setAllItems(columnHeaderItems,rowHeaderItems, cellItems);
mColumnHeaderList= columnHeaderItems;
mRowHeaderList = rowHeaderItems;
mCellList = cellItems;
}
and
@Override
public View onCreateCornerView() {
// Get Corner xml layout
// Get Corner xml layout
View corner = LayoutInflater.from(context).inflate(R.layout.table_view_corner_layout, null);
corner.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//reset all columns to UNSORTED
for (int i= 0; i < mColumnHeaderItems.size(); i++){
getTableView().sortColumn(i, SortState.UNSORTED); }
//reset adapter
TableViewAdapter adapter = (TableViewAdapter)(getTableView().getAdapter());
adapter.setAllItems(mColumnHeaderItems, mRowHeaderList, mCellList);
adapter.notifyDataSetChanged();
//clear selection
//getTableView().getSelectionHandler().clearSelection(); //has bug that leaves header cell still selected
getTableView().getSelectionHandler().setSelectedColumnPosition(-1);
getTableView().getSelectionHandler().setSelectedRowPosition(-1);
//goto top row
getTableView().scrollToRowPosition(0);
}
});
return corner;
}
Firstly, awesome library!
Is it possible to reset the table view to it's original state? i.e. clicking somewhere (like the corner view) to clear any applied sorts and take the table back to the order in which it was first loaded?