Skip to main content Skip to docs navigation

Paginated and Sortable Table Example

On this page
Stats
#callbacks:

Source

Name Capital Region Area
Aruba Oranjestad Americas 180.0
Afghanistan Kabul Asia 652230.0
Angola Luanda Africa 1246700.0
Anguilla The Valley Americas 91.0
Åland Islands Mariehamn Europe 1580.0
Albania Tirana Europe 28748.0
Andorra Andorra la Vella Europe 468.0
United Arab Emirates Abu Dhabi Asia 83600.0
Argentina Buenos Aires Americas 2780400.0
Armenia Yerevan Asia 29743.0
Showing 10 of 250
scala
new Table6Base with Table6BootrapStyling with Table6PaginatedWithSeqDataSource with Table6StandardColumns with Table6SortableWithSeqDataSource with Table6Sortable {
  override type R = Country

  override def defaultPageSize: Int = 10

  val ColName = ColStr("Name", _.name.common)
  val ColCapital = ColStr("Capital", _.capital.mkString(", "))
  val ColRegion = ColStr("Region", _.region)
  val ColArea = ColStr("Area", _.area.toString)

  override def columns(): List[C] = List(ColName, ColCapital, ColRegion, ColArea)

  override def rowsSorter: PartialFunction[C, Seq[R] => Seq[R]] = {
    case ColName    => _.sortBy(_.name.common)
    case ColCapital => _.sortBy(_.capital.mkString(", "))
    case ColRegion  => _.sortBy(_.region)
    case ColArea    => _.sortBy(_.area)
  }

  override def seqRowsSource: Seq[Country] = CountriesData.data
}.render()