2009-09-07 9 views
5

Mam DataGrid, z itemEditor jako NumericStepper w kilku kolumnach. Kiedy wartość w DataGrid jest edytowana, chciałbym zaktualizować kilka wartości wyświetlanych na ekranie, a więc chcę wywołać funkcję updateValues().Zatwierdź nową wartość z itemEditor przed zdarzenie itemEditEnd

pierwsze Dodałem tę funkcję do itemEditEnd przypadku DataGrid, ale funkcja jest uzyskiwanie wywołana przed nowa wartość jest aktualizowana do dataProvider a co za tym idzie, wartości mam w funkcji są stare wartości. Czy jest jakieś inne zdarzenie, które zostanie wywołane po zaktualizowaniu wartości do dataProvider? czy coś mi brakuje?

Po drugie, próbowałem umieścić tę funkcję w zdarzeniu zmiany każdego itemEditor (duh!), Ale potem znowu, zdarzenie zmiany jest uruchamiane, ale wartości w dataProvider są stare.

Czy jest jakiś sposób wywoływania funkcji updateValues() za każdym razem, gdy wartość jest edytowana I aktualizowana do dataProvider, ponieważ skąd biorę te wartości?

Wielkie dzięki.

Odpowiedz

6

„W swojej detektora zdarzeń, można przeanalizować dane wprowadzone do edytora poz. Jeśli dane są błędne, można wywołać metodę preventDefault(), aby zatrzymać Flex z przechodzącej nowe dane z powrotem do listy- na podstawie kontroli i od zamknięcia edytora. " (source)

Więc tak, to jest wywoływana przed DataProvider ma danych.

Oto, co powinieneś przeczytać: Detecting Datagrid Edits. Mówi o tych samych rzeczach. Priorytet zdarzenia jest biletem. Zbyt skomplikowany jest sposób Flex. Twoje zdrowie.

+0

Dzięki Glenn, sprawdzę link i wrócę :) –

+0

jak mogę zrobić "możesz sprawdzić dane wprowadzone do edytora przedmiotów" część .. może być mogę uzyskać wartość, którą chcę w ten sposób ? –

+0

W sekcji "Uzyskiwanie dostępu do danych komórki i elementu w sekcji detektora zdarzeń" mojego pierwszego linku, spójrz na funkcję "getCellInfo". – Glenn

Powiązane problemy