Ben kullanıcı aynı anda birden çok öğe seçebilir onay kutuları ile verilerin listesini görüntülemek çalışıyorum ... Ben Listede arayacaktır listenin başında bir arama alanını istiyorum ...
Nasıl yaparım?
Ben kullanıcı aynı anda birden çok öğe seçebilir onay kutuları ile verilerin listesini görüntülemek çalışıyorum ... Ben Listede arayacaktır listenin başında bir arama alanını istiyorum ...
Nasıl yaparım?
Öncelikle, tüm liste alanları ile bir vektör oluşturmak, böylece istediğiniz zaman ekranda ekleyip bunları kaldırmak mümkün olacak. Ekrana oluştururken, kontrol listelemek için hepsini birden ekleyin.
Arama alanının - Şimdi, bu EditFields birine sahip varsayalım. Bunun için bir dinleyici ayarlayın ve metin değişikliği olayı yakalayabilirsiniz.
durumunda sitesinde, liste denetimden tüm alanları kaldırabilirsiniz arama alanından metin değeri almak, tüm alanlar vektör yineleme ve kontrol listelemek için arama kriterleri karşılayan olanları ekleyin.
LookupList kontrolü:
public class LookupList extends VerticalFieldManager {
Vector mItems = null;
public LookupList() {
super();
mItems = new Vector();
}
public void addItem(Field itemField) {
String cookie = (String) itemField.getCookie();
if (null == cookie)
throw new IllegalArgumentException(
"String cookie must be set to lookupList field");
mItems.addElement(itemField);
add(itemField);
}
public void removeItem(int index) {
Field itemField = (Field) mItems.elementAt(index);
mItems.removeElement(itemField);
delete(itemField);
}
public void lookup(String searchValue) {
deleteAll();
for (int i = 0, count = mItems.size(); i < count; i++) {
Field field = (Field) mItems.elementAt(i);
String cookie = (String) field.getCookie();
if (cookie.startsWith(searchValue))
add(field);
}
}
}
Kullanım örneği:
class Scr extends MainScreen implements FieldChangeListener {
LookupList mList = null;
BasicEditField mEdit = null;
public Scr() {
super();
mEdit = new BasicEditField();
add(mEdit);
mEdit.setChangeListener(this);
mList = new LookupList();
for (int i = 0; i < 100; i++) {
LabelField label = new LabelField("Lookup field #"
+ String.valueOf(i));
label.setCookie(String.valueOf(i));
mList.addItem(label);
}
add(mList);
}
public void fieldChanged(Field field, int context) {
if (field == mEdit)
mList.lookup(mEdit.getText());
}
}