This is a bit ugly… we should really add a scripting function that will sort a DataSet.
headers = ["Column 1", "Column 2"]
data = [['z','foo'],['w','bar'],['a','baz']]
ds = system.dataset.toDataSet(headers, data)
def sortDataSet(ds, key_column = 0):
# create headers
headers = [ds.getColumnName(x) for x in range(ds.columnCount-1)]
# create data
import system
py_ds = system.dataset.toPyDataSet(ds)
rows = [py_ds[x] for x in range(len(py_ds))]
rows.sort(lambda x,y,key=key_column: cmp(x[key], y[key]))
data = [[row[x] for x in range(len(rows)-1)] for row in rows]
return system.dataset.toDataSet(headers, data)
print sortDataSet(ds)