Enabled set selectedIndex on DataGrid to programmatically select a row.

Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/b05a60d7
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/b05a60d7
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/b05a60d7

Branch: refs/heads/feature/mdl
Commit: b05a60d72204440229d37a119d02bdb137b88165
Parents: a11bb25
Author: Peter Ent <[email protected]>
Authored: Wed Dec 14 17:10:11 2016 -0500
Committer: Peter Ent <[email protected]>
Committed: Wed Dec 14 17:10:11 2016 -0500

----------------------------------------------------------------------
 .../src/main/flex/org/apache/flex/html/DataGrid.as  |  4 ++++
 .../flex/org/apache/flex/html/beads/DataGridView.as | 16 ++++++++++++++++
 2 files changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b05a60d7/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
index c271134..30c3edb 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DataGrid.as
@@ -103,6 +103,10 @@ package org.apache.flex.html
                {
                        return IDataGridModel(model).selectedIndex;
                }
+               public function set selectedIndex(value:int):void
+               {
+                       IDataGridModel(model).selectedIndex = value;
+               }
                
                /**
                 *  The DataGrid's presentation model

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b05a60d7/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
index 8393057..e8f4efe 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DataGridView.as
@@ -159,6 +159,7 @@ package org.apache.flex.html.beads
 
                        var sharedModel:IDataGridModel = 
_strand.getBeadByType(IBeadModel) as IDataGridModel;
                        
IEventDispatcher(sharedModel).addEventListener("dataProviderChanged",handleDataProviderChanged);
+                       
IEventDispatcher(sharedModel).addEventListener("selectedIndexChanged", 
handleSelectedIndexChanged);
 
                        var columnLabels:Array = new Array();
 
@@ -213,6 +214,21 @@ package org.apache.flex.html.beads
 
                        host.dispatchEvent(new Event("layoutNeeded"));
                }
+               
+               /**
+                * @private
+                */
+               private function handleSelectedIndexChanged(event:Event):void
+               {
+                       var sharedModel:IDataGridModel = 
_strand.getBeadByType(IBeadModel) as IDataGridModel;
+                       var newIndex:int = sharedModel.selectedIndex;
+                       
+                       for (var i:int=0; i < _lists.length; i++)
+                       {
+                               var list:DataGridColumnList = _lists[i] as 
DataGridColumnList;
+                               list.selectedIndex = newIndex;
+                       }
+               }
 
                /**
                 * @private

Reply via email to