[flexcoders] Re: Spark Datagrid selectedItem question

2011-08-26 Thread bhaq1972
I managed to achieve what I want using a bit of code. If anyone's intersted.

s:Application xmlns:fx=http://ns.adobe.com/mxml/2009;
   xmlns:s=library://ns.adobe.com/flex/spark
   xmlns:mx=library://ns.adobe.com/flex/mx 
minWidth=955 minHeight=600
 s:layout
s:VerticalLayout horizontalAlign=center paddingTop=10/
 /s:layout

 !--I'm mimiking the row locking by using selectedIndex, caretChange, and a 
few colors
 --

 fx:Declarations
!-- Place non-visual elements(e.g., services, value objects) here --
 /fx:Declarations

 fx:Script
   ![CDATA[
import mx.collections.ArrayCollection;
import spark.events.GridCaretEvent;
import spark.events.GridEvent;
import spark.events.GridItemEditorEvent;

[Bindable]
private var myDP:ArrayCollection = new ArrayCollection([
{col0:something, col1:4, col2:'goes', col3:'in', 
col4:'here'},{col0:maybe, col1:3, col2:'this', col3:'one', col4:'as 
well'},{col0:what, col1:1, col2:'about', col3:'this', col4:'one'},{col0:sean 
paul, col1:3, col2:'red', col3:'temperature', col4:'um'},{col0:chaka demus, 
col1:3, col2:'green', col3:'and pliers', col4:'um'}]);

private var savedRowIndex:int = -1;

private function lockRow():void
{
  dg.editable = true;
  this.savedRowIndex = dg.selectedIndex;
  dg.setStyle(rollOverColor, 0xff);
  dg.setStyle(caretColor, 0xff);
  dg.addEventListener(GridCaretEvent.CARET_CHANGE, 
dg_caretChangeHandler);
}
private function unlockRow():void
{
  dg.editable = false;
  this.savedRowIndex = -1;
  dg.setStyle(rollOverColor, 0xCEDBEF); //default spark rollOverColor 
= 0xCEDBEF
  dg.setStyle(caretColor, 0xA8C6EE); //default spark selectionColor = 
0xA8C6EE
dg.removeEventListener(GridCaretEvent.CARET_CHANGE, 
dg_caretChangeHandler);
}

protected function 
dg_gridItemEditorSessionStartingHandler(event:GridItemEditorEvent):void
{
// If you tab to last editable column - I want to setFocus on the 
button
if(event.rowIndex != dg.selectedIndex)//or may event.rowIndex == 
dg.selectedIndex+1
{
event.preventDefault();
callLater(btn1.setFocus);
return;
}
}

protected function dg_caretChangeHandler(event:GridCaretEvent):void
{
// This handler gets called before gridClick...so I can use it to stay 
focused on one row
if(this.savedRowIndex != -1)
{
dg.selectedIndex = this.savedRowIndex;
return;
}
}

]]
/fx:Script

s:Label text=Select a row. The lock (or unlock) the row. You 
shouldn't be able to click (or tab) anything else/

s:DataGrid id=dg dataProvider={myDP} width=50%   
gridItemEditorSessionStarting=dg_gridItemEditorSessionStartingHandler(event)
s:columns
 s:ArrayList
s:GridColumn dataField=col0 headerText=col0/
s:GridColumn dataField=col1 headerText=col1/
s:GridColumn dataField=col2 headerText=col2/
 s:GridColumn dataField=col3 headerText=col3/
 s:GridColumn dataField=col4 headerText=col4/
/s:ArrayList
/s:columns
/s:DataGrid
s:HGroup
 s:Button id=btn1 label=lock row click=lockRow() /
  s:Button id=btn2 label=unlock row click=unlockRow()/
/s:HGroup
/s:Application


--- In flexcoders@yahoogroups.com, bhaq1972 mbhaque@... wrote:

 We'd prefer to stay within the datagrid.
 
 
 --- In flexcoders@yahoogroups.com, Rishi Tandon rishitandon123@ wrote:
 
  Make a pop up window which include the searchable row based on some unique 
  ID and then display the row field and data inside a form.
  
  After changing the field value, update the grid data provider with the 
  changed row value.
  
  Sent from my iPhone
  
  On Aug 24, 2011, at 10:56 PM, Amy amyblankenship@ wrote:
  
   How would a user edit a row that is not selected?
   
   --- In flexcoders@yahoogroups.com, bhaq1972 mbhaque@ wrote:
   
How would I go about making the datagrid.selectedItem the ONLY editable 
row?

A bit like making individual columns editable by setting 
GridColumn.editable.

Thanks

BH
   
   
  
 





[flexcoders] Re: Spark Datagrid selectedItem question

2011-08-25 Thread bhaq1972
Let me elaborate (sorry I was trying to keep the question short and sweet). In 
my situation, we don't want our users to edit more than one row at a time.
So the datagrid starts off uneditable. They select a row they wish to edit. 
They then click a button to 'edit' that row. Once editing is complete they then 
click a confirm button to commit their

It all sounds a bit backward but my boss assures me its the best way for our 
users.


--- In flexcoders@yahoogroups.com, Amy amyblankenship@... wrote:

 How would a user edit a row that is not selected?
 
 --- In flexcoders@yahoogroups.com, bhaq1972 mbhaque@ wrote:
 
  How would I go about making the datagrid.selectedItem the ONLY editable row?
  
  A bit like making individual columns editable by setting 
  GridColumn.editable.
  
  Thanks
  
  BH
 





[flexcoders] Re: Spark Datagrid selectedItem question

2011-08-25 Thread bhaq1972
We'd prefer to stay within the datagrid.


--- In flexcoders@yahoogroups.com, Rishi Tandon rishitandon123@... wrote:

 Make a pop up window which include the searchable row based on some unique ID 
 and then display the row field and data inside a form.
 
 After changing the field value, update the grid data provider with the 
 changed row value.
 
 Sent from my iPhone
 
 On Aug 24, 2011, at 10:56 PM, Amy amyblankenship@... wrote:
 
  How would a user edit a row that is not selected?
  
  --- In flexcoders@yahoogroups.com, bhaq1972 mbhaque@ wrote:
  
   How would I go about making the datagrid.selectedItem the ONLY editable 
   row?
   
   A bit like making individual columns editable by setting 
   GridColumn.editable.
   
   Thanks
   
   BH
  
  
 





[flexcoders] Re: Spark Datagrid selectedItem question

2011-08-24 Thread Amy
How would a user edit a row that is not selected?

--- In flexcoders@yahoogroups.com, bhaq1972 mbhaque@... wrote:

 How would I go about making the datagrid.selectedItem the ONLY editable row?
 
 A bit like making individual columns editable by setting GridColumn.editable.
 
 Thanks
 
 BH





Re: [flexcoders] Re: Spark Datagrid selectedItem question

2011-08-24 Thread Rishi Tandon
Make a pop up window which include the searchable row based on some unique ID 
and then display the row field and data inside a form.

After changing the field value, update the grid data provider with the changed 
row value.

Sent from my iPhone

On Aug 24, 2011, at 10:56 PM, Amy amyblankens...@bellsouth.net wrote:

 How would a user edit a row that is not selected?
 
 --- In flexcoders@yahoogroups.com, bhaq1972 mbhaque@... wrote:
 
  How would I go about making the datagrid.selectedItem the ONLY editable row?
  
  A bit like making individual columns editable by setting 
  GridColumn.editable.
  
  Thanks
  
  BH