Chcę programowo podpalić ListBox's ChangeEvent
. Znalazłem funkcję, ale nie rozumiem, jaki rodzaj parametru trzeba przekazać:GWT. Fire ChangeEvent na ListBox programowo.
DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
Chcę programowo podpalić ListBox's ChangeEvent
. Znalazłem funkcję, ale nie rozumiem, jaki rodzaj parametru trzeba przekazać:GWT. Fire ChangeEvent na ListBox programowo.
DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
Można wystrzelić natywną changeevent na widget, używając:
DomEvent.fireNativeEvent(Document.get().createChangeEvent(), yourListBox);
Jest stare pytanie, ale chcę podzielić moim rozwiązaniem, ponieważ jest jedynym, który pracuje dla mnie (gwt.version = 2.6.1 i com.github.jdramaix wersji gwtchosen = 1.2.0)
public class ChosenListBoxNew extends ChosenListBox {
public ChosenListBoxNew() {
super();
}
public void fireUpdateEvent(){
ensureChosenHandlers().fireEvent(new ChosenChangeEvent(this.getValue(), this.getSelectedIndex(), null));
}
}
i można ognia zdarzenie aktualizacji poprzez wywołanie fireUpdateEvent() nowych klasa:
moduleSelectionLst.setSelectedIndex(-1); //Update selected value
moduleSelectionLst.update(); //Update UI
moduleSelectionLst.fireUpdateEvent(); // Fire update event
Możliwe jest ogień zdarzenia używając JSNI:
public native void fireOnChange(String elementId)/*-{
var element = $doc.getElementById(elementId);
if (element)
element.onchange();
}-*/;
To jedyna impreza ogień i nie zmienia wybraną pozycję. –
Saeed Zarinfam: ustaw przedmiot na najpóźniej, a następnie strzelaj do niego, korzystając z porady Strelocka. – Vlad