Custom datagrid sort

Hello,
I have a datagrid that has a row that contains information
similar to this: 1,2,3,4,T4,T4,5,6,..17,29,..43,T44,T44,45.. and so
on.. I hope you get the idea.. if an element appears more than one
time, it has a "T" at the beginning (this data is from a database
and I have to display it in this way). I have to be able to sort
this numerically (making the sort function somehow ignore that
"T")... i know datagrid only sorts strings, but using a Listener
and some other things ( check this out
http://www.flash-creations.com/notes/servercomm_database.php
) I managed to make it sort numbers.
However, the function doesn't work properly it some elements
have that "T" at the beginning. Is there an elegant way to do this?
(other than writing my own sorting function - maybe bubble sort -
sorting the dataprovider and then repopulating the datalist with
the sorted dataprovider)

Could you put the "T" in a different column or does it have
to be in the same column as the number?

Similar Messages

  • Sort Arrow for custom datagrid

    Hi,
    I have a custom datagrid where i am handling the  DataGridEvent.HEADER_RELEASE event . Also i have created custom data grid header which is assigned to the header class of custom datagrid.
    But i am facing problem while showing sortArrow. sortArrow is not visible for datagrid headers. How to show sortArrow??

    Thanks Alex.
    I managed to get the function to work when I applied it to a button, but it only works when the datagrid has a dataprovider already set for it.
    My issue is that I will have several buttons, each button will supply the datagrid with a new dataprovider.  The sort function will need to sort the first row of each column, and display the arrow each time the dataprovider is changed.
    I have added this code to one of the buttons for testing:
    private function grid_sort():void
                array1.sort = new Sort();
                array1.fields = [new SortField("column1", false, false)];
                array1.refresh();
    private function buttonClick(event:MouseEvent):void
                    grid1.dataProvider = array1;
                    grid_sort();  
    Specifically, the buttonClick function is what I added to the button's Click event.
    The code populated the datagrid when the button is clicked, however, the grid_sort() function does not execute and the arrow does not appear.
    How can I make this function work, while dynamically changing the dataprovider?

  • Datagrid sorting issues with 1/0 items to consider

    Hi all,
    I have an issue I can't find a way to fix. I am using a datagrid which I pouplate through a XMListCollection based on some XML datas.
    XML:
    var prefs:XML = <files>
    <file name="@toto" favourite="1"/>
    <file name="@toto"favourite="0"/>
    </files>;
    XMLListCollection
    var xlc:XMLListCollection = new XMLListCollection( new XMLList ( prefs.file) );
    MXML
    <mx:DataGrid id="filesList" width="100%" height="100%" dataProvider="{xlc}">
    <mx:columns>
    <mx:DataGridColumn width="25" dataField="@favourite"sortCompareFunction="favourite_sortCompareFunc"/>
    </mx:columns>
    </mx:DataGrid>
    Sorting fucnction:
    private function favourite_sortCompareFunc(itemA:Object, itemB:Object):int {
        var value1:Number = Number( itemA.@favourite );
        var value2:Number = Number( itemB.@favourite );
        if(value1 < value2){
             var n:Number = -1;
             return n;
        else if(value1 > value2){
             return 1;
        else{
             return 0;
        return 1;
    Once loaded, the datagrid appears in a "normal state":
    But if I try to sort first column, it becomes messy
    I think it might be related to the fact that the data to be sorted is only made of 0 & 1. But I can't imagine this kind of situations is not fixable.
    Any hint ?
    Thanks in advance for any advice,
    Loic

    Hi guys,
    First of all, all my apologizes for my silence. I had technical issues with Yahoo mail that made me miss 3 months mail ! So I just missed your posts and I can only come today to thank you all for your care and answers.
    In the meanwhile, I finally got it working by doing…nothing. Let me explain. The issue was caused by equal datas ( 1 or 0 ). So Flex couldn't sort 1 and 1 or 0 and 0 by itself. But these 0 and 1 were flags for an itemrenderer made of a button in toggle mode. 1 standed for on, 0 for off.
    Doing so I did override updateDisplayList and then the issue went away. But if I had to stick with pure datas ( 1 or 0 ) I think I would have had to do a custom sort function to deal with equal datas like a few of you offered.
    @DonMitchinson the @ stands for the xml attribute as the datagrid is populated with XMLListCollection from an XML file.
    Thanks for your sharing,
    Best,
    Loic

  • Custom report sorting

    Custom report sorting
    I need to display the report column header in vertical format, hence I’ve to use to use some css code along with column name for that. Also, I want this column to be sorted by clicking the column name. So, I’m embedding the following url along with css and column name to enable sorting on this column when user clicks the column header. I got the following url by looking at the standard report with sorting enabled on a column.
    http://test.com:7777/pls/htmldb/f?p=100:22:&APP_SESSION:fsp_sort_1::RP&fsp_region_id=1870116795285540
    My questions are …
    How can I toggle the url to append “_desc” to the fsp_sort_1 parameter dynamically when the user clicks the column name, as it is done when standard column sorting is selected.?
    How can pass region id dynamically in the above url (last number in the url)?
    Any ideas are appreciated
    Thanks,
    Surya

    hi pavan
    i can just tell you that i had no issues with custom column sorting in webi with Enterprise XI 3.0 and Xcelsius 2008.
    Best Regards
    Ulrich

  • FBL5N Customer Namewise Sorting Needed

    Dear Friends,
                  In FBL5n , now Customer Codewise Sorting is coming. My Requirment is Customer Namewise Sorting.
    both Customer Number and Name are in Header Level.

    HEllo!
    Please, read my explanation below:
    The field NAME1 is not included in the tables BSEG and BSID/BSAD or in     
    the structures RFPOS and RFPOSX. Therefore, you will not be able to add    
    NAME1 to the line item display in FBL5N as a standard field or as a        
    special field (note 215798).                                                                               
    But, there is a workaround for this.                                                                               
    If you need NAME1 to be shown in the Line Item Display then you need to    
    add the field to the structures RFPOS and RFPOSX.                                                                               
    When the structure has been extended with the field then you need to       
    run the reports RFPOSXEXTEND and BALVBUFDEL (in the same way as seen in    
    the solution part in note 215798).                                                                               
    After that you need to use the Open FI Exit 1650 to fill the fields. You   
    will find a function group FI_ITEMS from transaction SE80. In this func- 
    tion group you will find a function module FI_ITEMS_DISPLAY where the    
    form ITEMS_DISPLAY_INIT includes the exits 1610 to 1650. The important   
    one for your problem is 1650 (OPEN_FI_PERFORM_00001650_E).                                                                               
    This exit is used if you want to display fields in e.g. FBL5N which      
    does not exist in the tables BSID/BSAD and also not in the customer      
    line item in BSEG.                                                                               
    Through this user exit it should be possible to get the value from the   
    relevant tables e.g. from other customer tables into structure RFPOSXEXT 
    if there is a relation between the relevant tables e.g. KNA1 to RFPOSX/  
    BSID.                                                                               
    Please also have a look at notes 112312 and 217189.
    I hope this information clarifies your query ;D !
    Regards,
    REnan

  • Customizing the sort order of a field

    Hi,
    I would like to sort the order of a group on values within a field rather than in eg. ascending order
    eg.
    I would like to sort the group by values in the Status field, so if the Status values are 'Open', 'Closed', 'Unresolvable' then I would like to order the data by
    Status: Open
    Status: Unresolveable
    Status: Closed
    How would I do this?
    Thanks

    Yes,
    We can do it
    http://winrichman.blogspot.com/2009/09/custom-dynamic-sort-in-bi-publisher.html
    <?sort:(number(status='Open') * 1) + (number(status='Unresolveable') * 2) + (number(status='Closed') * 3);'ascending';data-type='number'?>Put this after the for-each statement
    do change the status to the element name in you xml.

  • Custom DataGrid problems with Comboboxes

    I am using a custom datagrid with comboboxes and
    colorpickers. I found this code on the web and adapted it to work
    with my code. The only problem is that if you pull down a combobox
    and then click somewhere outside without selecting anything, it
    seems to erase the data in the dataprovider arraycollection and so
    'value' in the set data method becomes null.

    This is not a bug if I understand you properly. I believe most people would wish anything which is obtained via the tv to be backed up, which is why the content is transferred. If you want it to remain available on the tv you will need to sync it back to it.

  • DataGrid sort start/completion:  specific associated events?

    Hi all,
    A lot of my DataGrid sorts take a non-trivial amount of time.
    So, I'd like to show a busy cursor while the operation runs. In
    order to do this I'd need events associated with the start and
    completion of the operation. Are there such events available?
    Thanks!
    -Noah

    This thread was "imported" from the old forums -- most, if not all, code seems to have disappeared. But here are the sort functions I posted:
    function sortXML(source:XML, elementName:Object, fieldName:Object,
    options:Object = null):XML
         // list of elements we're going to sort
         var list:XMLList=source.elements("*").(name()==elementName);
         // list of elements not included in the sort -
         // we place these back into the source node at the end
         var excludeList:XMLList=source.elements("*").(name()!=elementName);
         list= sortXMLList(list,fieldName,options);
         list += excludeList;
         source.setChildren(list);
         return source;
    function sortXMLList(list:XMLList, fieldName:Object, options:Object =
    null):XMLList
         var arr:Array = new Array();
         var ch:XML;
         for each(ch in list)
               arr.push(ch);
         var resultArr:Array = fieldName==null ?
               options==null ? arr.sort() :arr.sort(options)
               : arr.sortOn(fieldName, options);
         var result:XMLList = new XMLList();
         for(var i:int=0; i<resultArr.length; i++)
               result += resultArr[i];
         return result;

  • Custom linguistic sort

    Hello,
    We are using the TCHINESE_STROKE_M linguistic sort to sort data that is a mix of Traditional Chinese and ASCII. We notice that the ASCII data sorts at the top of the list, above the Chinese. Our users would like the ASCII data to be sorted at the bottom of the list, below the Traditional Chinese.
    I'm trying to get a sense of how difficult or costly it would be to achieve this.
    Would this require using the Locale Builder utility to build a custom Linguistic sort? Or, is there some other, lower-impact way to achieve this? (You can achieve this with a descending sort, but then all the data within the ASCII and within the Chinese is sorted in the reverse order of what is needed).
    If anyone out there has used Locale Builder to create a custom sort, could you comment on your experience? I haven't yet been able to locate the detailed documentation for Locale Builder. Even if using Locale Builder is relatively straightforward, it seems that the software configuration challenges involved with making the custom sort files available in all of our environments and protecting or enhancing these files during Oracle upgrades might be prohibitive.
    I'd appreciate hearing your thoughts and experiences.
    Thanks,
    Cindy

    The documentation for Locale Builder is here:
    http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14225/ch13custlocale.htm#sthref1791

  • Customizing Datagrid's HeaderColumn

    I created a custom HeaderRenderer for a DataGrid. Looking at the attached image in the "Station" column, how can have the sort Arrow and it's background change to the same color(blue) as the the custom HeaderRenderer's? Also, is there anyway to edit/alter the location of that arrow?
    Thanks, in advance.

    .....bump
    Thanks!

  • DataGrid Sorting Problem

    Hi all,
    We are running one query from Sql Query Analyser ,
    for selecting values and displaying it in ascending order.
    We are executing the same query from coding to load in to
    datagrid , but its not arranging it by ascending order instead
    its sorting randomly.
    Because of this, if i select particular row from Datagrid, its not fetching
    the selected row from the grid instead its taking corresponding row number's
    value.
    Thanks
    Vaithy

    HI  vaitheeswaran l...    ,
    yeah what u said is correct grid takes in that manner when u are using collapse levels.try without using collapse levels.if u want using collapse levels it wont come
    Edited by: micheal willis on Oct 9, 2009 11:34 AM

  • Mouse focus in custom DataGrid ItemRenderer (re-post*)

    * I already posted this question in the "Flex" forum, but didn't get any replies. I'm not sure if this will yield any different results, but I figure it's worth a try...
    I have a custom MXDataGridItemRenderer with a custom nested Spark CheckBox component that I'm trying to use within an MXDataGrid component. The renderer works fine, as does the nested checkbox, however I'm unable to decouple the mouse events for the checkbox from the DataGrid row. I intend to use the DataGrid as a playlist for the VideoPlayer component with an FX Model-based DataProvider and the purpose of the checkbox is to allow the user to automatically play the next selected checkbox item in the list; similar to the checkboxes in iTunes. Placing an instance of the checkbox on top of DataGrid achieves the desired decoupling, but this is obviously an impractical solution, which I include only to illustrate what I'm trying to do. Any recommendations would be greatly appreciated.
    Thanks,
    ~Benny

    Work around posted here: http://forums.adobe.com/message/3160303#3160303

  • Custom table sort

    There is a custom table in that table can i display the table contents sorted by one particular field.

    hi,
    if plant and date together make the primary key, then at present it must be sorted by by the primary key for example -
         plant      date
         5610      12.10.2006
         5610      18.12.2006
         8510      10.12.2006
         8510      17.12.2006
    is it not Ok with you ?

  • Linked List for custom insertion sorting not listing

    Hello fellow humans! :3 this is an assignment; the little menu's options are the tasks it's supposed to perform. Sadly, case 1 only records the last valid (non -1) entry instead of building a list. case 2 does the same, except for actually recording the ending value (-1) instead of the last valid entry. Cases 3 and 4 are completely useless without the first two; I've included them because being quite new I'd rather not exclude anything important.
    class with main method follows:
    package batch2;
    import java.io.*;
    class e21
    public static void main (String []args) throws IOException, NumberFormatException
    BufferedReader input = new BufferedReader (new InputStreamReader (System.in));
    FromKeyboard key = new FromKeyboard();
    int a, option = 0, lrg;
    MyList alist, blist, clist;
    char fin = 'v';
    boolean avac, bvac, cvac, bord;
    NodeLD nodeaux = null;
    alist = new MyList();
    blist = new MyList();
    clist = new MyList();
    do{
      System.out.println("Please choose an option:");
      System.out.println("1. Create list 'A' sorting by insertion");
      System.out.println("2. Create list 'B', unsorted");
      System.out.println("3. Sort list 'B'");
      System.out.println("4. Mix lists 'A' & 'B' into a new sorted list 'C'");
      System.out.println("9. Exit");
      option = key.enterInt();
      switch (option){
      case 1: //this only records the last valid (non -1) entry D:
             System.out.println("Enter the integers you wish you sort in list 'A'");
          System.out.println("To finish, enter '-1'");
          a = key.enterInt();
          if (a != -1){
            alist.insertToList(a);
            System.out.println("Test 1");     
          while (a != -1){
               a = key.enterInt();
            if (a != -1){
              System.out.println("Test 1.1");
              nodeaux = new NodeLD();
              nodeaux.theData(a);
              alist.sortInserList(nodeaux);
              System.out.println("Test 2, a="+a+"");
         System.out.println("List 'A', sorted by insertion:");
          alist.seeList();
        break;               
      case 2: //this also keeps the last value, yet not a valid one but the '-1' for the ending condition
             System.out.println("Enter the integers you wish to add to list 'B'");
             System.out.println("Enter '-1' to finish");
             a = 0;
             while (a != -1){
                if (a != -1){
                  a = key.enterInt();
                  clist.insertToList(a);
             System.out.println("Unsorted list:");
             clist.seeList();
        break;
      case 3:
            while (clist.front != null){
          if (clist.front != null){
             blist.sortInserList(clist.front);
             clist.front = clist.front.givePrevious();
          System.out.println("List 'B', sorted");
          blist.seeList();
        break;
      case 4:
            while (blist.front != null){
         if (blist.front != null){
          alist.sortInserList(blist.front);
          blist.front = blist.front.givePrevious();
         System.out.println("List 'C', combining 'A' & 'B', sorted");
         clist.seeList();
        break;
      case 9:
         System.out.println("Program ended");
        break;
      default:
         System.out.println("Invalid option");
        break;
    while (option != 9);
    }Custom list class follows:
    package batch2;
    class MyList
    boolean tag = false;
    protected NodeLD front;
    protected int size;
    public MyList(){
         front = null;
         size = 0;
    public void insertToList(int x){
         NodeLD t;
         t = new NodeLD();
         t.theData(x);
         t.theNext(front);
         if(front!=null){
              front.thePrevious(t);
         front = t;
         size++;
    public void seeList(){
         NodeLD g;
         g = front;
         System.out.println();
         while (g!=null){
           System.out.println(""+g.dat+"");
           g = g.givePrevious();
         System.out.println("=============================");
    public int sortInserList(NodeLD g){
         NodeLD pointer = new NodeLD();
         pointer = front;
         NodeLD prepointer = new NodeLD();
         System.out.println("Test A");
         while (g.dat > pointer.dat && pointer != null){
           if (pointer.giveNext()!= null){
            pointer = pointer.giveNext();
            tag = false;
            System.out.println("Test A.b");
           else if (pointer.giveNext() == null) {
            tag = true;
            System.out.println("Test A.c");
           break;
         prepointer = pointer.givePrevious();
         if (pointer == null || tag){
           insertToList(g.dat);
           System.out.println("Test B. Pointer == null or tag == true");
         if (prepointer != null && !tag){
           g.thePrevious(prepointer);
           prepointer.theNext(g);
           System.out.println("Test C. prepointer != null && !tag");
         if (pointer != null && !tag){
           g.theNext(pointer);
           pointer.thePrevious(g);          
           System.out.println("Test D. pointer !=null && !tag");
         System.out.println("Test E. Right before return");
         return g.dat;
    }And here comes the accompanying Node class:
    package batch2;
    class NodeLD
    private int data;
    private NodeLD next;
    private NodeLD previous;
    public int dat;
    NodeLD(){
         data = 0;
         next = null;
         previous = null;
         dat = data;
    public void theData(int x){
         data = x;
         dat = data;
    public void theNext(NodeLD y){
         next = y;
    public void thePrevious(NodeLD z){
         previous = z;
    public int giveData(){
         return data;
    public NodeLD giveNext(){
         return next;
    public NodeLD givePrevious(){
         return previous;
    }And last but not least, the part of FromKeyboard I'm using for this exercise, just in case:
    package batch2;
    import java.io.*;
    public class FromKeyboard
    public BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    public int enterInt(){
         System.out.flush();
         int integ = -1;
         try{
              integ = Integer.valueOf(input.readLine());
         catch(NumberFormatException e){
              System.err.println("Error: "+e.getMessage()+"");
         catch(IOException t){
              System.err.println("Error: "+t.getMessage()+"");
         return integ;
    }All help with regards as to why my lists aren't working and general comments/nudges on the sorting are welcome and appreciated.

    Hi Kevin, thank you for replying! I'll trim my code in a moment; as for a specific inquiry:
    >Sadly, case 1 only records the last valid (non -1) entry instead of building a list. case 2 does the same, except for actually recording the ending value (-1) instead of the last valid entry. >
    More direct approach to asking for help: These classes compile correctly and run, although the result is not what I'm aiming for: I get a single-noded list instead of the full list. Why isn't it keeping all the nodes but the last one only?
    Edited by: SquaredCircle on 09-Sep-2010 16:46
    That was fun :D this is my SSCCE for the main class:
    class e21SSCCE
    public static void main (String []args) throws NumberFormatException
    int a[] = {14, 25, 11, 43, 33, -1}, key[] = {1,2,9}, option = 0, i = 0, e = 0;
    MyList alist, clist;
    char fin = 'v';
    NodeLD nodeaux = null;
    alist = new MyList();
    clist = new MyList();
    do{
      System.out.println("Please choose an option:");
      System.out.println("1. Create list 'A' sorting by insertion");
      System.out.println("2. Create list 'C', unsorted");
    System.out.println("9. Exit");
      option = key[e];
      e++;
      switch (option){
      case 1: //this only records the last valid (non -1) entry D:
             System.out.println("Enter the integers you wish you sort in list 'A'");
          System.out.println("To finish, enter '-1'");
          i = 0;
          if (a[i] != -1){
            alist.insertToList(a);
         i++;
         while (a[i] != -1){
    if (a[i] != -1){
         nodeaux = new NodeLD();
         nodeaux.theData(a[i]);
         alist.sortInserList(nodeaux);
         i++;
         System.out.println("List 'A', sorted by insertion:");
         alist.seeList();
    break;               
    case 2: //this also keeps the last value, yet not a valid one but the '-1' for the ending condition
    System.out.println("Enter the integers you wish to add to list 'B'");
    System.out.println("Enter '-1' to finish");
    i = 0;
    while (a[i] != -1){
    if (a[i] != -1){
    clist.insertToList(a[i]);
                        i++;     
    System.out.println("Unsorted list:");
    clist.seeList();
    break;
    case 9:
         System.out.println("Program ended");
    break;
    default:
         System.out.println("Invalid option");
    break;
    while (option != 9);
    The cleaner version of the list class:class MyList
    boolean tag = false;
    protected NodeLD front;
    protected int size;
    public MyList(){
         front = null;
         size = 0;
    public void insertToList(int x){
         NodeLD t;
         t = new NodeLD();
         t.theData(x);
         t.theNext(front);
         if(front!=null){
              front.thePrevious(t);
         front = t;
         size++;
    public void seeList(){
         NodeLD g;
         g = front;
         System.out.println();
         while (g!=null){
              System.out.println(""+g.dat+"");
              g = g.givePrevious();
         System.out.println("=============================");
    public int sortInserList(NodeLD g){
         NodeLD pointer = new NodeLD();
         pointer = front;
         NodeLD prepointer = new NodeLD();
         while (g.dat > pointer.dat && pointer != null){
              if (pointer.giveNext()!= null){
                   pointer = pointer.giveNext();
                   tag = false;
              else if (pointer.giveNext() == null) {
                   tag = true;
                   break;
              prepointer = pointer.givePrevious();
              if (pointer == null || tag){
                   insertToList(g.dat);
              if (prepointer != null && !tag){
                   g.thePrevious(prepointer);
                   prepointer.theNext(g);
              if (pointer != null && !tag){
                   g.theNext(pointer);
                   pointer.thePrevious(g);          
         return g.dat;
    And the node class:class NodeLD
    private int data;
    private NodeLD next;
    private NodeLD previous;
    public int dat;
    NodeLD(){
         data = 0;
         next = null;
         previous = null;
         dat = data;
    public void theData(int x){
         data = x;
         dat = data;
    public void theNext(NodeLD y){
         next = y;
    public void thePrevious(NodeLD z){
         previous = z;
    public int giveData(){
         return data;
    public NodeLD giveNext(){
         return next;
    public NodeLD givePrevious(){
         return previous;
    I followed the SSCCE guideline, and tried my best with it. The indentation checker was a broken link, though :c.
    Edited by: SquaredCircle on 09-Sep-2010 17:12                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Custom datagrid headerRenderer keeps redrawing

    I have two DataGrids.  One that uses default headerRenderers, and one that uses custom 'filterable' headerRenders for 5 of the column headers.
    Basically, the custom filterable headerRenderer is a VBox that holds a Label and a TextInput.  Typing in the textInput will hide items in that column that don't match the filter value entered.
    This issue is that each time I update these DataGrids' dataProvider, the DataGrid that employs the custom headerRenders flashes multiple times (redraws) which is very noticable -- it makes the page a little laggy.  If I override the 'data' setter and place a breakpoint in the custom headerRenderer, I see it is getting hit a ton of times! (even if there is only like 1 item in the data grid!) why is that?
    How can I stop this redraw from occuring?  Can I stop the custom headerRenderer from calling the data setter? I tried overriding the data setter, placing only a return in the method --- that didn't seem to help.
    Any suggestions?
    thanks,
    Muad'Dib

    sorry for the late response pml...
    Yes, I did get this fixed. I wish I could say it was an easy fix to find! but it wasn't!
    Basically, I had to keep the 'state' (data members I wanted displayed by the headerRenderer) of the renderer within the parent DataGrid component. I did this by:
    1) Creating necessary headerRenderers using the ClassFactory (instead of inline MXML -- you can make the call to create the headers on the DataGrid's creationComplete event).
    2) setting ClassFactory 'property' to an array of objects that map the headerRenderer to the Object that hold's it's 'State'.
    3) overrode initializationComplete() method of headerRender and placed any initialization code here (in lieu of the 'data' setter).  This was where the implementation that actually does the mapping to the Object that holds this render's 'State' is done, based on the data that was placed into the 'properties' field from step 2.
    here's a brief example:
    DataGrid
    ========
    <mx:Box styleName="BoxContent" width="100%" height="100%">
        <mx:Script>
            <![CDATA[
                    public var greeting:String = "hello";
                   public function createCustomHeaders():void {
                         // create a factory that can produce your custom header
                         var customRendererFactory:ClassFactory = new ClassFactory(MyCustomRendererClass);
                         // set the properties of the factory to hold a reference to data
                         // in THIS class (Box)
                         customRendererFactory.properties = {stateHost: this, stateProperty: "greeting"};
                         // set the data grid columns renderer now...
                         dgc1.headerRenderer = customRendererFactory;
                }]]>
         </mx:Script>
         <mx:DataGrid id="dg" dataProvider="{_myData}" creationComplete="createCustomHeaders()">
            <mx:columns>
                    <mx:DataGridColumn id="dgc1"
                        textAlign="center"/>
            </mx:columns>
         </mx:DataGrid>
    </mx:Box>
    Renderer
    ========
    <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%">
    <mx:Script>
    <![CDATA[
        // reference to object that will hold any necessary state information
        public var stateHost:Object;
        public var stateProperty:String;
                private var _greeting:String;
                private var _greetingUpdated:Boolean;
    override protected function initializationComplete():void {
    if(_greeting != stateHost[stateProperty]){
                        _greeting == stateHost[stateProperty]);
                        _greetingUpdated = true;
                        invalidateProperties();
    override protected function commitProperties():void {
                    super.commitProperties();
    if(_greetingUpdated){
    myLabel.text = (null != _greeting) ? _greeting : "";
    ]]>
    </mx:Script>
        <mx:Label id="myLabel" width="100%"/>
    </mx:VBox>

Maybe you are looking for

  • Midi controlled sounds

    My midi controlled sounds cut off when controller keyboard note is lifted creating a click as the "sample is stopped" any Ideas ? this is domianent on piano patches

  • Data Source for Attribute

    Hi Experts, I am in data load monitoring and loading data into an ODS which has an object(0ITEM)with avigational attribute(0ITM_COLOUR).I would like to know whether  Data source is same for both (0ITEM and 0ITM_COLOUR)Info objects or is it different?

  • Change G/L account on WO component

    Hi expert, how to change G/L account on component - gen data/ reservation item detail (item cat: L), the field is grey. pls help. Thanks. rgds.

  • BI new Implementation

    Hi All, Could anyone pls answer below my question? 1) Once New BI installation is done, What are  settings that need to be done to make it ready for Development? 2) Since it is new system , I need to connect to Source system which ECC6.0. What are th

  • Airport Extreme LAN address limitations

    On our branch office networks, we use different subnets from the 10.x.x.x private networking address space. Most begin with 10.1 or 10.10. But so far as we can tell, Apple, unlike every single other low-end router vendor, has arbitrarily decided that