StandardTableView 表示一个由列和行组成的数据表格。单元格 在一个模型中进行组织,其中每一行都是以下结构的模型:
struct StandardListViewItem default: a struct with all default values
每行中各项的模型。
StandardListViewItem
表示 StandardListView 和 StandardTableView 中的一项。
text(string):该项的文本内容
slint
import { StandardTableView } from "std-widgets.slint";export component Example inherits Window { width: 230px; height: 200px;
StandardTableView { width: 230px; height: 200px; columns: [ { title: "Header 1" }, { title: "Header 2" }, ]; rows: [ [ { text: "Item 1" }, { text: "Item 2" }, ], [ { text: "Item 1" }, { text: "Item 2" }, ], [ { text: "Item 1" }, { text: "Item 2" }, ] ]; }}
属性
与 ListView 相同,并附加:
current-sort-column
int (out) default: 0
指示当前排序的列。-1 表示没有任何列被排序。
columns
[struct] (in-out) default: a struct with all default values
定义表列的模型。
slint
StandardTableView { columns: [{ title: "Header 1" }, { title: "Header 2" }]; rows: [[{ text: "Item 1" }, { text: "Item 2" }]];}TableColumn
用于定义 TableView 的列及列标题
title(string):列标题的文本min_width(length):列的最小宽度(逻辑长度)horizontal_stretch(float):列的水平伸缩因子sort_order(SortOrder):对列进行排序width(length):列的实际宽度(逻辑长度)
rows
[[struct]] (in-out) default: a struct with all default values
定义表行的模型。
slint
StandardTableView { columns: [{ title: "Header 1" }, { title: "Header 2" }]; rows: [[{ text: "Item 1" }, { text: "Item 2" }]];}StandardListViewItem
表示 StandardListView 和 StandardTableView 中的一项。
text(string):该项的文本内容
current-row
int (in-out) default: 0
当前活动行的索引。-1 表示未选中任何行,这是默认值。
回调
sort-ascending(int)
当模型应按指定列升序排序时触发。
sort-descending(int)
当模型应按指定列降序排序时触发。
row-pointer-event(int, PointerEvent, Point)
在任何鼠标指针事件上触发,类似于 TouchArea。参数为与该事件关联的行索引、PointerEvent 本身以及 tableview 中的鼠标位置。
current-row-changed(int)
当用户修改导致当前行发生变化时触发。
slint
StandardTableView { columns: [{ title: "Header 1" }, { title: "Header 2" }]; rows: [[{ text: "Item 1" }, { text: "Item 2" }]];
current-row-changed(index) => { debug("Current row: ", index); }}函数
set-current-row(int)
通过索引设置当前行,并将其滚动到视图中。