diff options
author | Jens Bache-Wiig <jens.bache-wiig@digia.com> | 2013-12-09 14:16:39 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-20 11:01:45 +0100 |
commit | 73ac28cba6d9344b866788443a5ff753d15f6606 (patch) | |
tree | 2ff2409cb7c44ee73a8321152e5555a1cc9b2496 /src/controls/TableViewColumn.qml | |
parent | 38bce6ada7f0660c39929fcab19d5c10b8550d3c (diff) | |
download | qtquickcontrols-73ac28cba6d9344b866788443a5ff753d15f6606.tar.gz |
Improve TableView performance by caching row-delegates
This gives a much better scrolling performance in TableView
since we do not have to instantiate the rows or re-establish
bindings to header columns for each created table row.
[ChangeLog][QtQuickControls] Significantly optimized TableView
scrolling by recycling rowDelegate instances.
Change-Id: I301e5e476c78f241be1282332905b714fbc5b37d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/controls/TableViewColumn.qml')
-rw-r--r-- | src/controls/TableViewColumn.qml | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/controls/TableViewColumn.qml b/src/controls/TableViewColumn.qml index a5ba2e75..3336470e 100644 --- a/src/controls/TableViewColumn.qml +++ b/src/controls/TableViewColumn.qml @@ -132,7 +132,7 @@ QtObject { if (__view.__columns[i] === this) __index = i for (var row = 0 ; row < listdata.children.length ; ++row) { - var item = listdata.children[row+1] + var item = listdata.children[row+1] ? listdata.children[row+1].rowItem : undefined if (item && item.children[1] && item.children[1].children[__index] && item.children[1].children[__index].children[0] && item.children[1].children[__index].children[0].hasOwnProperty("implicitWidth")) minWidth = Math.max(minWidth, item.children[1].children[__index].children[0].implicitWidth) |