Sorry for such a late reply, but I'm pretty sure this isn't a bug. 

Your approach for adding a new row to the grid is slightly incorrect:
you're pushing the new object onto the data provider of the grid.
Instead, you should use the addItem method of the grid / dataProvider.
Doing this causes the "modelChanged" event to be fired, which the
DataGrid listens for internally and updates the grid accordingly.
Adding and removing columns makes the grid recreates the rows (via the
datagrid's initRows() function) while the modelChanged listener calls
the drawRow() method of each row. So they both fix the issue, but as
you said, the first is an ugly hack, and it might be slightly more
expensive (creating versus redrawing).

The code attached below seems to fix the issue (notice the last two
lines). Let me know for sure if this works for you.

Jim

// adds a new row to the data grid
       function gridAddRow() {
           // we need to generate the object with the correct cells
           var newRow:Object = {};
           // get the current column names
           var aCols:Array = myDataGrid.columnNames;
           // loop through the column names and create an empty cell
item for each
           for (var i = 0; i < aCols.length; i++) { newRow[aCols[i]] = ""; }
           // push the new row to the dataprovider
           // gripDP.push(newRow);
           myDataGrid.addItem(newRow);
       }


 
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/
 


Reply via email to