tableview.go
func (l *TableView) SetSelectedRow(row int) {
	oldSelection := l.selectedRow
	if row >= l.rowCount {
		l.selectedRow = l.rowCount - 1
	} else if row < -1 {
		l.selectedRow = -1
	}

	if l.selectedRow != oldSelection {
		l.EnsureRowVisible()
		l.emitSelectionChange()
	}
}
func (l *TableView) SetSelectedRow(row int) {
	oldSelection := l.selectedRow
	if row >= l.rowCount {
		l.selectedRow = l.rowCount - 1
	} else if row < -1 {
		l.selectedRow = -1
	}

	if l.selectedRow != oldSelection {
		l.EnsureRowVisible()
		l.emitSelectionChange()
	}
}
// SetSelectedRow changes the currently selected row.
// If row is greater than number of row the last row
// is selected. Set row to -1 to turn off selection.
// The table scrolls automatically to display the column