2012-10-29 4 views
-2

Привет, я пытаюсь отобразить objectchoicefield по набору данных в array.by, выбирая это сравнение с другим массивом автоматически, другое objectchoicefield должно получить отображение с соответствующими совпадениями. т.е. функция onchange, другое objectchoicefield должно получить нагрузку со значениями.BB java objectchoicefiled должен автоматически отображать отображение при выборе одного значения в другом объектеchoicefield, т.е. onchange function

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

создать пользовательский выпадающий список , а затем реализовать свое событие изменения поля lstener. – Signare

+1

Что вы пробовали? –

+0

PLS пройти через мой код и вести меня – Pramodhini

ответ

1

Я думаю, следующие шаги могут направлять вас.

Шаг 1: Создать первый objectchoicefield со своими данными.

Шаг 2: Реализовать его изменения полей слушателя, в котором вы будете использовать выбранное значение первого choicefield в качестве параметра, чтобы получить массив соответствующих значений должны быть установлены на второй objectchoicefield ..

+0

ya нравится, что только я сделал .but не работает для me.pls проверить код, который я обновил в верхней части. – Pramodhini