orderby

LUA

orderby

<lst>:orderby(field)

<lst>:orderby({field1, field2, ...})

<lst>:orderby(foo(item1, item))

Ordina gli elementi della lista. Nel primo caso esegue un sort ascendente sul valore della chiave passata. Nel secondo caso esegue un sort ascendente sulla prima chiave della lista, in caso di uguaglianza passa alla seconda e così via. Nell'ultimo caso è possibile passare la funzione di comparazione (comparer)

Esempio 219. Esempio orderby

local orders = {  {id=1, product="Computer", price=1000, year=2010},
 {id=1, product="Book",     price=50,   year=2012},
 {id=3, product="TV",       price=800,  year=2011},
 ...
}
XTable(orders):orderby("year"):astable()
XTable(orders):orderby({"id", "price"}):astable()
XTable(orders):orderby(function(a, b) return a.year<b.year end):astable()