Fyne API "widget.Table"
widget.Table
import "fyne.io/fyne/v2/widget"
Usage
type Table
type Table struct {
BaseWidget
Length func() (rows int, cols int) `json:"-"`
CreateCell func() fyne.CanvasObject `json:"-"`
UpdateCell func(id TableCellID, template fyne.CanvasObject) `json:"-"`
OnSelected func(id TableCellID) `json:"-"`
OnUnselected func(id TableCellID) `json:"-"`
// ShowHeaderRow specifies that a row should be added to the table with header content.
// This will default to an A-Z style content, unless overridden with `CreateHeader` and `UpdateHeader` calls.
//
// Since: 2.4
ShowHeaderRow bool
// ShowHeaderColumn specifies that a column should be added to the table with header content.
// This will default to an 1-10 style numeric content, unless overridden with `CreateHeader` and `UpdateHeader` calls.
//
// Since: 2.4
ShowHeaderColumn bool
// CreateHeader is an optional function that allows overriding of the default header widget.
// Developers must also override `UpdateHeader`.
//
// Since: 2.4
CreateHeader func() fyne.CanvasObject `json:"-"`
// UpdateHeader is used with `CreateHeader` to support custom header content.
// The `id` parameter will have `-1` value to indicate a header, and `> 0` where the column or row refer to data.
//
// Since: 2.4
UpdateHeader func(id TableCellID, template fyne.CanvasObject) `json:"-"`
// StickyRowCount specifies how many data rows should not scroll when the content moves.
// If `ShowHeaderRow` us `true` then the stuck row will appear immediately underneath.
//
// Since: 2.4
StickyRowCount int
// StickyColumnCount specifies how many data columns should not scroll when the content moves.
// If `ShowHeaderColumn` us `true` then the stuck column will appear immediately next to the header.
//
// Since: 2.4
StickyColumnCount int
// HideSeparators hides the separator lines between the table cells
//
// Since: 2.5
HideSeparators bool
}
Table widget is a grid of items that can be scrolled and a cell selected. Its performance is provided by caching cell templates created with CreateCell and re-using them with UpdateCell. The size of the content rows/columns is returned by the Length callback.
1.4
func NewTable
func NewTable(length func() (rows int, cols int), create func() fyne.CanvasObject, update func(TableCellID, fyne.CanvasObject)) *Table
NewTable returns a new performant table widget defined by the passed functions. The first returns the data size in rows and columns, second parameter is a function that returns cell template objects that can be cached and the third is used to apply data at specified data location to the passed template CanvasObject.
1.4
func NewTableWithHeaders
func NewTableWithHeaders(length func() (rows int, cols int), create func() fyne.CanvasObject, update func(TableCellID, fyne.CanvasObject)) *Table
NewTableWithHeaders returns a new performant table widget defined by the passed functions including sticky headers. The first returns the data size in rows and columns, second parameter is a function that returns cell template objects that can be cached and the third is used to apply data at specified data location to the passed template CanvasObject. The row and column headers will stick to the leading and top edges of the table and contain “1-10” and “A-Z” formatted labels.
2.4
func (*Table) CreateRenderer
func (t *Table) CreateRenderer() fyne.WidgetRenderer
CreateRenderer returns a new renderer for the table.
fyne.Widget
func (*Table) Cursor
func (t *Table) Cursor() desktop.Cursor
func (*Table) DragEnd
func (t *Table) DragEnd()
func (*Table) Dragged
func (t *Table) Dragged(e *fyne.DragEvent)
func (*Table) FocusGained
func (t *Table) FocusGained()
FocusGained is called after this table has gained focus.
fyne.Focusable
func (*Table) FocusLost
func (t *Table) FocusLost()
FocusLost is called after this Table has lost focus.
fyne.Focusable
func (*Table) MouseDown
func (t *Table) MouseDown(e *desktop.MouseEvent)
MouseDown response to desktop mouse event
func (*Table) MouseIn
func (t *Table) MouseIn(ev *desktop.MouseEvent)
func (*Table) MouseMoved
func (t *Table) MouseMoved(ev *desktop.MouseEvent)
func (*Table) MouseOut
func (t *Table) MouseOut()
func (*Table) MouseUp
func (t *Table) MouseUp(*desktop.MouseEvent)
MouseUp response to desktop mouse event
func (*Table) RefreshItem
func (t *Table) RefreshItem(id TableCellID)
RefreshItem refreshes a single item, specified by the item ID passed in.
2.4
func (*Table) ScrollTo
func (t *Table) ScrollTo(id TableCellID)
ScrollTo will scroll to the given cell without changing the selection. Attempting to scroll beyond the limits of the table will scroll to the edge of the table instead.
2.1
func (*Table) ScrollToBottom
func (t *Table) ScrollToBottom()
ScrollToBottom scrolls to the last row in the table
2.1
func (*Table) ScrollToLeading
func (t *Table) ScrollToLeading()
ScrollToLeading scrolls horizontally to the leading edge of the table
2.1
func (*Table) ScrollToTop
func (t *Table) ScrollToTop()
ScrollToTop scrolls to the first row in the table
2.1
func (*Table) ScrollToTrailing
func (t *Table) ScrollToTrailing()
ScrollToTrailing scrolls horizontally to the trailing edge of the table
2.1
func (*Table) Select
func (t *Table) Select(id TableCellID)
Select will mark the specified cell as selected.
func (*Table) SetColumnWidth
func (t *Table) SetColumnWidth(id int, width float32)
SetColumnWidth supports changing the width of the specified column. Columns normally take the width of the template cell returned from the CreateCell callback. The width parameter uses the same units as a fyne.Size type and refers to the internal content width not including the divider size.
1.4.1
func (*Table) SetRowHeight
func (t *Table) SetRowHeight(id int, height float32)
SetRowHeight supports changing the height of the specified row. Rows normally take the height of the template cell returned from the CreateCell callback. The height parameter uses the same units as a fyne.Size type and refers to the internal content height not including the divider size.
2.3
func (*Table) Tapped
func (t *Table) Tapped(e *fyne.PointEvent)
func (*Table) TouchCancel
func (t *Table) TouchCancel(*mobile.TouchEvent)
TouchCancel response to mobile touch event
func (*Table) TouchDown
func (t *Table) TouchDown(e *mobile.TouchEvent)
TouchDown response to mobile touch event
func (*Table) TouchUp
func (t *Table) TouchUp(*mobile.TouchEvent)
TouchUp response to mobile touch event
func (*Table) TypedKey
func (t *Table) TypedKey(event *fyne.KeyEvent)
TypedKey is called if a key event happens while this Table is focused.
fyne.Focusable
func (*Table) TypedRune
func (t *Table) TypedRune(_ rune)
TypedRune is called if a text event happens while this Table is focused.
fyne.Focusable
func (*Table) Unselect
func (t *Table) Unselect(id TableCellID)
Unselect will mark the cell provided by id as unselected.
func (*Table) UnselectAll
func (t *Table) UnselectAll()
UnselectAll will mark all cells as unselected.
2.1