lib-st provides a convenient way to create and display a scrolling table of data.
Supply column info and your table data, and you're off!
To get a handle in lua:
local ScrollingTable = LibStub("ScrollingTable");
To package in your addon, add to your .pkgmeta file:
externals: Libs/lib-st: url: https://github.com/ddumont/lib-st.git tag: latest
Leave off the tag line if you want the absolute lastest alpha version from the site. (I try to keep a stable copy tagged as latest)
Added support for calling SetData with a minimal dataset which can drastically reduce the number of tables that exist within the mod... at a slight cost to customization.
Other recent changes
If no args or colorargs are specified for value and color functions, respectively, instead of no args, these args will be passed:
function (data, cols, realrow, column, sttable) -- sttable is a reference to the scrolling table end
Here's some nitty-gritty:
- Set names and widths of columns, lib-st will set the table width on it's own!
- Set the number of rows, and a value to use for row height, lib-st will set the table height on it's own!
- Set background colors for each column.
- Set column text alignment.
- Set column text color.
- Set row text color.
- Set text color on a cell-by-cell basis.
- Supply functions to be evaluated for cell data, and cell/row/column text colors!
- Filter table data via a filter funtion.
- Table sorts are NON-DESTRUCTIVE. Data or the order of data supplied is never changed (unless modified by user supplied functions) for the display of the table. No copies of the data are made either. 1 Table, your data, sort it, index it as it was when it was created, update it as you see fit.
- Hookable ui events. find out more here
- Custom cell formatting with a custom display function
- Enable selection on your scrolling table
Find out how to create a scrolling table using lib-st!
Let me know if you use it!!