안녕하세요, 배열의 데이터 세트로 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);
커스텀 드롭을 만들 필드 변경 lstener 이벤트를 구현하십시오. – Signare
당신은 무엇을 시도 했습니까? –
pls가 내 코드를 통과하고 나를 안내합니다 – Pramodhini