You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by hu...@apache.org on 2023/01/15 01:27:27 UTC
[royale-asjs] branch develop updated: Fix: The DataGridNavigateItems navigation issue
This is an automated email from the ASF dual-hosted git repository.
hugoferreira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
The following commit(s) were added to refs/heads/develop by this push:
new 6f2316a13f Fix: The DataGridNavigateItems navigation issue
6f2316a13f is described below
commit 6f2316a13f7dba8284af8da2f93dc6c870ab118b
Author: Hugo Ferreira <hf...@solidsoft.pt>
AuthorDate: Sun Jan 15 01:27:14 2023 +0000
Fix: The DataGridNavigateItems navigation issue
The DataGridNavigateItems bead did not work on VirtualDataGrid after move to a new row not visible on the screen (out of the screen).
Now it work perfectly: The VirtualDataGrid scrolls for new rows and the cursor continue until the end.
---
.../controls/datagrid/DataGridNavigateItems.as | 23 ++++++++++------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
index 7a605f5aee..c750174918 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controls/datagrid/DataGridNavigateItems.as
@@ -31,6 +31,8 @@ package org.apache.royale.jewel.beads.controls.datagrid
import org.apache.royale.jewel.supportClasses.datagrid.IDataGridColumnList;
import org.apache.royale.jewel.VirtualDataGrid;
import org.apache.royale.jewel.supportClasses.datagrid.VirtualDataGridColumnList;
+ import org.apache.royale.jewel.beads.views.VirtualListView;
+ import org.apache.royale.jewel.beads.views.ListView;
/**
* The DataGridNavigateItems bead class is a specialty bead that can be use with a Jewel DataGrid and VirtualDataGrid control
@@ -81,9 +83,9 @@ package org.apache.royale.jewel.beads.controls.datagrid
var selectedColumnIndex:int = dataGridView.columnLists.indexOf(selectedColumnList);
var dataGridItemRenderer:EditableDataGridItemRenderer;
if (dataGrid is VirtualDataGrid)
- dataGridItemRenderer = (dataGridView.columnLists[selectedColumnIndex] as VirtualDataGridColumnList).getElementAt((dataGrid as VirtualDataGrid).selectedIndex + 1) as EditableDataGridItemRenderer;
+ dataGridItemRenderer = ((dataGridView.columnLists[selectedColumnIndex] as VirtualDataGridColumnList).view as VirtualListView).getItemRendererForIndex((dataGrid as VirtualDataGrid).selectedIndex) as EditableDataGridItemRenderer;
else
- dataGridItemRenderer = (dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).getElementAt((dataGrid as DataGrid).selectedIndex) as EditableDataGridItemRenderer;
+ dataGridItemRenderer = ((dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).view as ListView).getItemRendererForIndex((dataGrid as DataGrid).selectedIndex) as EditableDataGridItemRenderer;
var dataProviderSize:int = ((dataGrid as DataGrid).dataProvider as ICollectionView).length;
dataGridItemRenderer.endEditMode();
@@ -102,17 +104,12 @@ package org.apache.royale.jewel.beads.controls.datagrid
selectedColumnIndex++;
}
- COMPILE::JS
- {
- setTimeout(function():void
- {
- if (dataGrid is VirtualDataGrid)
- dataGridItemRenderer = (dataGridView.columnLists[selectedColumnIndex] as VirtualDataGridColumnList).getElementAt((dataGrid as VirtualDataGrid).selectedIndex + 1) as EditableDataGridItemRenderer;
- else
- dataGridItemRenderer = (dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).getElementAt((dataGrid as DataGrid).selectedIndex) as EditableDataGridItemRenderer;
- dataGridItemRenderer.goToEditMode();
- }, 1);
- }
+ if (dataGrid is VirtualDataGrid)
+ dataGridItemRenderer = ((dataGridView.columnLists[selectedColumnIndex] as VirtualDataGridColumnList).view as VirtualListView).getItemRendererForIndex((dataGrid as VirtualDataGrid).selectedIndex) as EditableDataGridItemRenderer;
+ else
+ dataGridItemRenderer = ((dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).view as ListView).getItemRendererForIndex((dataGrid as DataGrid).selectedIndex) as EditableDataGridItemRenderer;
+
+ dataGridItemRenderer.goToEditMode();
}
}
}