2012-10-29 6 views
-2

안녕하세요, 배열의 데이터 세트로 objectchoicefield를 표시하려고합니다. 다른 배열과 비교하면 다른 objectchoicefield가 해당 일치 항목과 함께 표시되어야합니다. 즉 onchange 함수를 사용하면 다른 objectchoicefield에 값이있는로드가 발생합니다.BB java objectchoicefiled가 다른 objectchoicefield 즉 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

커스텀 드롭을 만들 필드 변경 lstener 이벤트를 구현하십시오. – Signare

+1

당신은 무엇을 시도 했습니까? –

+0

pls가 내 코드를 통과하고 나를 안내합니다 – Pramodhini

답변

1

나는 다음 단계를 안내 수, 생각합니다.

1 단계 : 첫 번째 데이터로 objectchoicefield을 만듭니다.

2 단계 :는 제 objectchoicefield로 설정 값을 대응하는 배열을 얻기 위해 파라미터로서 제 choicefield의 선택된 값을 사용하는 그것의 필드 변경 리스너 .. 구현

+0

나중에 내가 그랬던 것처럼.하지만 나를 위해 일하고 있지 않습니다. pls 내가 맨 위에 업데이 트 코드를 확인하십시오. – Pramodhini