2012-10-29 4 views
-2

Salut, j'essaie d'afficher objectchoicefield par ensemble de données dans array.by en sélectionnant que comparer avec un autre tableau automatiquement un autre objectchoicefield devrait s'afficher avec des correspondances correspondantes. c'est-à-dire, la fonction onchange, l'autre objectchoicefield devrait être chargé avec values.guide moi.BB java objectchoicefiled doit être affiché automatiquement lors de la sélection d'une valeur dans un autre objet objectchoicefield ie fonctionnalité onchange

Document document=generalXmlAccess.access(generalXmlAccess.getArea()); 
NodeList list2=document.getElementsByTagName("tuple"); 
final String[] area = new String [list2.getLength()]; 
final String[] areaid = new String [list2.getLength()]; 

for(int i=0;i<list2.getLength();i++) 
{ 
    NodeList list=document.getElementsByTagName("NAME"); 
    NodeList list3=document.getElementsByTagName("ROW_ID"); 
    area[i]=list.item(i).getFirstChild().toString()+"-"+list3.item(i).getFirstChild().toString(); 
    areaid[i]=list3.item(i).getFirstChild().toString(); 
} 

final ObjectChoiceField choiceField=new ObjectChoiceField("Select Area",area);  
choiceField.setChangeListener(new FieldChangeListener() { 

public void fieldChanged(Field field, int context) { 
    if(field.equals(choiceField)) 
    { 
      int index=choiceField.getSelectedIndex(); 
      String values=areaid[index].toString(); 
      Document document1=generalXmlAccess.access(generalXmlAccess.getSubArea()); 
      NodeList list3=document1.getElementsByTagName("tuple"); 
      for(int i=0;i<list3.getLength();i++) 
      { 
       subareaid=new String[list3.getLength()]; 
       NodeList nodeList=document1.getElementsByTagName("PAR_ROW_ID"); 
       if(nodeList.item(i).getFirstChild().toString().equals(values)) 
       { 
        NodeList list=document1.getElementsByTagName("NAME"); 
        subareaid[i]=list.item(i).getFirstChild().toString(); 
       } 
       add(new ObjectChoiceField("Subarea", subareaid)); 
      } 
    } 
} 
}); 

choiceField.setFont(font1); 
+0

créer un menu déroulant personnalisé , puis implémentez son événement lstener de changement de champ. – Signare

+1

qu'avez-vous essayé? –

+0

pls passer par mon code et me guider – Pramodhini

Répondre

1

je pense, les étapes suivantes pourraient vous guider.

Étape 1: Créez d'abord objectchoicefield avec ses données.

Étape 2: Mettre en oeuvre son auditeur de changement de champ, dans lequel vous utiliserez la valeur sélectionnée de la première choicefield en tant que paramètre pour obtenir le tableau de valeurs correspondant à régler à la seconde objectchoicefield ..

+0

ya comme ça seulement j'ai fait. Mais ne fonctionne pas pour me.pls vérifier le code que j'ai mis à jour en haut. – Pramodhini

Questions connexes