[flexcoders] Re: Dynamic DataGridColumns LabelFunction

2005-04-11 Thread joao_m_fernandes



Well what I want is to be able to assign labelFunction dynamicly.
Depending on a selection I build an array of columns wich some have
labelFunctions to format de data.At the end I replace current columns
by the new array. 

If I define a fixed column in a dg whe labelFunction set I can watch
the object trought debugger and get this sctructure

dg.__columns[someindex].__labelFunction{object}

 __proto__
 constructor
 func
 prototype
 target

When I try to simulate the same behavior with AS 

!
var colunas:array = new Array();
var DataGridColumn = new mx.controls.gridclasses.DataGridColumn;
DataGridColumn.columnName = data_fim;
DataGridColumn.__header = Até;
DataGridColumn.labelFunction= {func:eurodate,target:this};
DataGridColumn.textAlign = center;
colunas.push(DataGridColumn);   
// eurodate beeing the function I want to be used and colunas the new
array to be used by the dg. 
dg.columns = colunas;
!
I get the following object 

 __proto__
 constructor
 func
 target 

no prototype is defined for this object. Is this the approach to build
with actionScript a dgcolumn?

Regards,

João Fernandes
--- In flexcoders@yahoogroups.com, Andrew Spaulding [EMAIL PROTECTED] wrote:
 
 mmm i would have assumed that the simple dot notation of
 mycolumn.labelFunction = myFunction; should have called the set method
 on the DataGridColumn.
 
 maybe do it this way??
 
 mycolumn.labelFunction = Function()
 {
 //do the do here
 }
 
 i'm not sure .. just guessing!
 
 Andrew
 
 
 
 
 --- In flexcoders@yahoogroups.com, joao_m_fernandes
 [EMAIL PROTECTED] wrote:
  
  Hi there,
  
  I'm populating a DataGrid and from user selection, columns are added
  and removed. Everything works fine excepting defining a labelFunction
  to a column.
  I'm using this code to define a new column and the function to be used
  eurodate.
  
  var DataGridColumn = new mx.controls.gridclasses.DataGridColumn;
  DataGridColumn.columnName = data_fim;
  DataGridColumn.__header = Até;
  --- DataGridColumn.__labelFunction = eurodate();
  DataGridColumn.textAlign = center;
  colunas.push(DataGridColumn);   
  
  I tried:
  DataGridColumn.labelFunction = eurodate();
  DataGridColumn.labelFunction = eurodate;
  DataGridColumn.__labelFunction = eurodate();
  DataGridColumn.__labelFunction = eurodate;
  
  none worked.
  Any Clue?
  
  Thanks,
  João Fernandes





 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
 





RE: [flexcoders] Re: Dynamic DataGridColumns LabelFunction

2005-04-11 Thread Dirk Eismann

Hi,

looking at your code snippet it seems as if you're not invoking the constructor 
function of the DataGridColumn class:

   var DataGridColumn = new mx.controls.gridclasses.DataGridColumn;

try this instead:

  var dataGridColumn = new mx.controls.gridclasses.DataGridColumn();

To assign a labelFunction to the newly created instance use the Delegate class

  dataGridColumn.labelFunction = mx.utils.Delegate.create(this, myLabelFunc)

The function myLabelFunc will then be used as the labelFunction, i.e.

  function myLabelFunc(item:Obejct):String {
return Howdy!;
  }

Dirk.


 -Original Message-
 From: joao_m_fernandes [mailto:[EMAIL PROTECTED]
 Sent: Monday, April 11, 2005 3:51 PM
 To: flexcoders@yahoogroups.com
 Subject: [flexcoders] Re: Dynamic DataGridColumns  LabelFunction
 
 
 
 
 
 Well what I want is to be able to assign labelFunction dynamicly.
 Depending on a selection I build an array of columns wich some have
 labelFunctions to format de data.At the end I replace current columns
 by the new array. 
 
 If I define a fixed column in a dg whe labelFunction set I can watch
 the object trought debugger and get this sctructure
 
 dg.__columns[someindex].__labelFunction{object}
 
  __proto__
  constructor
  func
  prototype
  target
 
 When I try to simulate the same behavior with AS 
 
 !
 var colunas:array = new Array();
 var DataGridColumn = new mx.controls.gridclasses.DataGridColumn;
 DataGridColumn.columnName = data_fim;
 DataGridColumn.__header = Até;
 DataGridColumn.labelFunction= {func:eurodate,target:this};
 DataGridColumn.textAlign = center;
 colunas.push(DataGridColumn); 
 // eurodate beeing the function I want to be used and colunas the new
 array to be used by the dg.   
 dg.columns = colunas;
 !
 I get the following object 
 
  __proto__
  constructor
  func
  target 
 
 no prototype is defined for this object. Is this the approach to build
 with actionScript a dgcolumn?
 
 Regards,
 
 João Fernandes
 --- In flexcoders@yahoogroups.com, Andrew Spaulding 
 [EMAIL PROTECTED] wrote:
  
  mmm i would have assumed that the simple dot notation of
  mycolumn.labelFunction = myFunction; should have called the 
 set method
  on the DataGridColumn.
  
  maybe do it this way??
  
  mycolumn.labelFunction = Function()
  {
  //do the do here
  }
  
  i'm not sure .. just guessing!
  
  Andrew
  
  
  
  
  --- In flexcoders@yahoogroups.com, joao_m_fernandes
  [EMAIL PROTECTED] wrote:
   
   Hi there,
   
   I'm populating a DataGrid and from user selection, 
 columns are added
   and removed. Everything works fine excepting defining a 
 labelFunction
   to a column.
   I'm using this code to define a new column and the 
 function to be used
   eurodate.
   
   var DataGridColumn = new mx.controls.gridclasses.DataGridColumn;
   DataGridColumn.columnName = data_fim;
   DataGridColumn.__header = Até;
   --- DataGridColumn.__labelFunction = eurodate();
   DataGridColumn.textAlign = center;
   colunas.push(DataGridColumn); 
   
   I tried:
   DataGridColumn.labelFunction = eurodate();
   DataGridColumn.labelFunction = eurodate;
   DataGridColumn.__labelFunction = eurodate();
   DataGridColumn.__labelFunction = eurodate;
   
   none worked.
   Any Clue?
   
   Thanks,
   João Fernandes
 
 
 
 
 
  
 Yahoo! Groups Links
 
 
 
  
 
 
 
 


 
Yahoo! Groups Links

* To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/

* To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]

* Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/