public class ColumnView : Widget, Accessible, Buildable, ConstraintTarget, Scrollable
GtkColumnView is a widget to present a view into a large dynamic list of items using multiple columns with headers.
GtkColumnView uses the factories of its columns to generate a cell widget for each column, for each visible item and displays them together as the row for this item. The show_row_separators and show_column_separators properties offer a simple way to display separators between the rows or columns.
GtkColumnView allows the user to select items according to the selection characteristics of the model. For models that allow multiple selected items, it is possible to turn on *rubberband selection*, using enable_rubberband.
The column view supports sorting that can be customized by the user by clicking on column headers. To set this up, the Sorter returned by get_sorter must be attached to a sort model for the data that the view is showing, and the columns must have sorters attached to them by calling set_sorter. The initial sort order can be set with sort_by_column.
To learn more about the list widget framework, see the [overview](
columnview. It may carry the .column-separators style class, when show_column_separators property is set. Header widets appear below a node with name header. The rows are contained in a GtkListView widget, so there is a listview node with the same structure as for a standalone GtkListView widget. If show_row_separators is set, it will be passed on to the list view, causing its CSS node to carry the .separators style class. For rubberband selection, a node with name rubberband is used.
│ ├── <column header>
│ ╰── <column header>
The main columnview node may also carry style classes to select the style of [list presentation](ListContainers.html#list-styles): .rich-list, .navigation-sidebar or .data-table.