CRACKED IT! I'm sure someone will reply with a two line fix later, but I'm so 
damned happy I don't care.

If anyone has the same problem, here is the generic function I used for setting 
the default value of the ComboBox to the left value of the dropdown (Like HTML) 
rather than the native index of the list items.

// Special function for ComboBox so we can set the default value of the dropdown
// by passing the comboBox object, and the default value
function setComboDefault(combo, leftValue) {    
     ListItems = combo.getList().getChildren();
     for( var key in ListItems ) {
          if(ListItems[key].getValue() == leftValue) {
               combo.setSelected(ListItems[key]);
          }
     }
}

Remember this will only work if your ComboBox objects are created using the 
same Database table ID's that you are passing to this function.

Aaron
  ----- Original Message ----- 
  From: Aaron Cooper 
  To: qooxdoo Development 
  Sent: Tuesday, December 12, 2006 6:50 PM
  Subject: Re: [qooxdoo-devel] Setting Combobox Default ListItem


  I am still having major trouble with this if anyone can please help.

  Here is exactly what I am doing:

  I have made my own class of ComboBox that gets values from a database in 
pairs of [id]=>[text value];

  The [text value] is the visible part in the dropdown, while the [id] is the 
value of the selected item. This id is stored in the database when the record 
is saved.

  This part works fine.

  The problem is when I display a record for editing, I want to setSelected the 
relevant item in the dropdown, using the id again supplied from the database.

  I have this function which I pass the ComboBox object, and the id value of 
the list item I am trying to select:

  function setComboDefault(combo, leftValue) {
   listItem = (combo.getList().getChildren()[leftValue]);
   combo.setSelected(listItem);
  }

  This function only works by the native index of the ComboBox (e.g. 0 to N). 

  Obviously, ComboBoxEx would solve my problem rather easily, however there is 
a bug in this object where it cannot be used on a Window.

  So what I need to do can be seen in this algorthym:

  function setComboDefault(Object ComboBox, String IdValue) {
      
      ListItems = get all list items of ComboBox

      for(each ListItems as ListItem) {
          if (ListItem value == IdValue) {
              ComboBox.setSelected(ListItem);
          }
      }
  }

  Can anyone help with this please?

  Aaron
    ----- Original Message ----- 
    From: Aaron Cooper 
    To: qooxdoo Development 
    Sent: Wednesday, November 22, 2006 5:59 PM
    Subject: Re: [qooxdoo-devel] Setting Combobox Default ListItem


    Thanks mate, that does work, but I had to be able to set it using the 
initalVal parameter I passed to the function, with out using a loop.

    easily done with if-else with two items but some of them have many items, 
and are dynamic.

    This is what I came up with and it works:

    field.setSelected(field.getList().getChildren()[initialVal]);

    Cheers
    Aaron
      ----- Original Message ----- 
      From: Jonathan Viney 
      To: qooxdoo Development 
      Sent: Wednesday, November 22, 2006 3:46 PM
      Subject: Re: [qooxdoo-devel] Setting Combobox Default ListItem


      field.setSelected(item_no);

      Just a guess....

      -Jonathan.


      On 11/22/06, Aaron Cooper <[EMAIL PROTECTED] > wrote: 
        Hi Guys,

        Spent a good 3 hours trying to do this simple task, and can't find the 
way of doing it in the API or Demos.

        Take this simple Yes/No Combobox class that I have made:

        function ftmDataEntryYesNo (name, xPos, initialVal) {
         var field = new qx.ui.form.ComboBox();
         field.setCssClassName("ftm-text-fields");
         field.setTop(xPos);
         field.setWidth(75);
         field.tagName = name;
         
         var item_no = new qx.ui.form.ListItem("No");
         item_no.setValue(0);
         
         var item_yes = new qx.ui.form.ListItem("Yes");
         item_yes.setValue(1);
         
         field.add(item_no, item_yes);
         
         //Set the initial value
         field.setSelected(field.getList().item_no);
         
         return field;
        }

        What is wrong there? I know about field.getList().getLastChild(), the 
above code came from a demo example using it. But how do I select a specific 
child?

        Cheers
        Aaron

        
-------------------------------------------------------------------------
        Take Surveys. Earn Cash. Influence the Future of IT
        Join SourceForge.net's Techsay panel and you'll get the chance to share 
your
        opinions on IT & business topics through brief surveys - and earn cash 
        
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV 

        _______________________________________________
        qooxdoo-devel mailing list
        [email protected] 
        https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel







--------------------------------------------------------------------------


      -------------------------------------------------------------------------
      Take Surveys. Earn Cash. Influence the Future of IT
      Join SourceForge.net's Techsay panel and you'll get the chance to share 
your
      opinions on IT & business topics through brief surveys - and earn cash
      http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV 


--------------------------------------------------------------------------


      _______________________________________________
      qooxdoo-devel mailing list
      [email protected]
      https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel



----------------------------------------------------------------------------


    -------------------------------------------------------------------------
    Take Surveys. Earn Cash. Influence the Future of IT
    Join SourceForge.net's Techsay panel and you'll get the chance to share your
    opinions on IT & business topics through brief surveys - and earn cash
    http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV 


----------------------------------------------------------------------------


    _______________________________________________
    qooxdoo-devel mailing list
    [email protected]
    https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel



------------------------------------------------------------------------------


  -------------------------------------------------------------------------
  Take Surveys. Earn Cash. Influence the Future of IT
  Join SourceForge.net's Techsay panel and you'll get the chance to share your
  opinions on IT & business topics through brief surveys - and earn cash
  http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV


------------------------------------------------------------------------------


  _______________________________________________
  qooxdoo-devel mailing list
  [email protected]
  https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to