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 2022/12/01 17:34:52 UTC

[royale-asjs] branch develop updated: Added support for DataGridNavigatedItems bead for VirtualDataGrid

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 31c43447ad Added support for DataGridNavigatedItems bead for VirtualDataGrid
31c43447ad is described below

commit 31c43447ad66c7ad59a2dffe2743ca2a7d019b8f
Author: Hugo Ferreira <hf...@solidsoft.pt>
AuthorDate: Thu Dec 1 17:34:50 2022 +0000

    Added support for DataGridNavigatedItems bead for VirtualDataGrid
---
 .../beads/controls/datagrid/DataGridNavigateItems.as     | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 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 9c463f3096..7a605f5aee 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
@@ -28,6 +28,9 @@ package org.apache.royale.jewel.beads.controls.datagrid
     import org.apache.royale.jewel.DataGrid;
     import org.apache.royale.collections.ICollectionView;
     import org.apache.royale.jewel.itemRenderers.EditableDataGridItemRenderer;
+    import org.apache.royale.jewel.supportClasses.datagrid.IDataGridColumnList;
+    import org.apache.royale.jewel.VirtualDataGrid;
+    import org.apache.royale.jewel.supportClasses.datagrid.VirtualDataGridColumnList;
 
 	/**
 	 *  The DataGridNavigateItems bead class is a specialty bead that can be use with a Jewel DataGrid and VirtualDataGrid control
@@ -69,14 +72,18 @@ package org.apache.royale.jewel.beads.controls.datagrid
             if (event.key == KEY_ENTER || event.key == KEY_TAB)
             {
                 var selectedColumnList:UIBase = (event.target as UIBase).parent as UIBase;
-                while (!(selectedColumnList is DataGridColumnList))
+                while (!(selectedColumnList is IDataGridColumnList))
                 {
                     selectedColumnList = selectedColumnList.parent as UIBase;
                 }
 
                 var dataGridView:DataGridView = ((dataGrid as DataGrid).view as DataGridView);
                 var selectedColumnIndex:int = dataGridView.columnLists.indexOf(selectedColumnList);
-                var dataGridItemRenderer:EditableDataGridItemRenderer = (dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).getElementAt((dataGrid as DataGrid).selectedIndex) as EditableDataGridItemRenderer;
+                var dataGridItemRenderer:EditableDataGridItemRenderer;
+                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;
                 var dataProviderSize:int = ((dataGrid as DataGrid).dataProvider as ICollectionView).length;
 
                 dataGridItemRenderer.endEditMode();
@@ -99,7 +106,10 @@ package org.apache.royale.jewel.beads.controls.datagrid
 	    		{
                     setTimeout(function():void
                     {
-                        dataGridItemRenderer = (dataGridView.columnLists[selectedColumnIndex] as DataGridColumnList).getElementAt((dataGrid as DataGrid).selectedIndex) as EditableDataGridItemRenderer;
+                        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);
                 }