Zurück   Flashforum > Flash > Flash erweitern > Komponenten und SmartClips

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-06-2009, 06:29   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2008
Beiträge: 4
Datagrid Aktualisierung via Enter (AS2)

Moin zusammen !

ich hab ein kleines Problem mit dem Aktualisieren eines Datagrids:

Im MC ist ein Datagrid eingebunden, dass nach Aktualisierung des Nutzers eine Funktion aufrufen soll, die die Summe über eine Spalte ausgibt.
Das funktioniert auch alles schön und gut mit einem Listener auf Klicks:

Code:
mygrid_Listener = new Object();
mygrid_Listener.change = function(eventObj) {
	ladestand();
};
grid_Diele.addEventListener("change",mygrid_Listener);
über ENTER jedoch wird die eingebene Zahl erst nach einer zweiten Bestätigung via ENTER ins Array geschrieben:

Code:
var myListener:Object = new Object();
myListener.onKeyDown = function() {
	if (Key.getCode() == Key.ENTER) {
		ladestand();
	}
};
Key.addListener(myListener);
Code:
function ladestand() {
	var wert;
	wert = rm(Diele_array); //Sum-Funktion
	trace("ladestandänderung auf:" + wert);
..
}
Gibt es eine Möglichkeit die Eingabe direkt abzufangen? Man könnte ja temporär "wert" + "eingabe" realisieren und bei der nächsten Änderung wieder Standardmäßig "ladestand" aufrufen.

Bzw. warum wird das Array überhaupt erst nach einem zweiten Enter aktualisiert?

Das Grid wird wie folgt gekoppelt/erzeugt:


Code:
var Diele_array:Array = new Array(
{Artikel:"	 Deckenlampe	", Anzahl:0, RM: 	  2	,Kategorie:"Diele/Bad"	}, 
..
);
grid_Diele.dataProvider = Diele_array;
Danke schonmal für Tipps!

Cheers,
lindsche
lindsche ist offline   Mit Zitat antworten
Alt 25-06-2009, 06:46   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
->verschoben

Der Flashfilm benötigt den Fokus, bevor er Tastatureingaben entgegennimmt. Entweder du klickst einmal in den Flashfilm um den Fokus zu setzen, oder du steuerst das über den Focusmanager. Schau dazu mal in die Flash-Hilfe.
  Mit Zitat antworten
Alt 25-06-2009, 08:38   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2008
Beiträge: 4
Hi, Danke für die Antwort!

über einen Mausklick ändert sich das Verhalten leider nicht.

Die Datagridsliegen direkt auf _root.
Hab ich es richtig verstanden, dass ich den focus auf _root setzen sollte? (es funktioniert weder mit _root noch mit setfocus auf das datagrid)

Code:
var myListener:Object = new Object();
myListener.onKeyDown = function() {
	if (Key.getCode() == Key.ENTER) {
		focusManager.setFocus(_root);
		ladestand();
	}
};
so sieht's jetzt aus!

das Problem liegt glaube ich eher daran, dass das Array erst nach nochmaligem Enter-Drücken aktualisiert wird.

das ganze liegt auf http://www.umzuege-ploetner.de/kalkulator/
verzeihung für das design: das musste ich übernehmen

Geändert von lindsche (25-06-2009 um 08:43 Uhr)
lindsche ist offline   Mit Zitat antworten
Alt 25-06-2009, 09:01   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
if (Key.getCode() == Key.ENTER) {
focusManager.setFocus(_root);
Na ja, so würde der Focus ja zu spät gesetzt und auf _root macht das auch nicht so viel Sinn... Erst mal Focus auf die Komponente setzen, dann Key-Listener...
  Mit Zitat antworten
Alt 25-06-2009, 09:05   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2008
Beiträge: 4
Code:
focusManager.setFocus(grid_Wohnzimmer1); 

//ÄNDERUNGSLISTENER für ENTER
var myListener:Object = new Object();
myListener.onKeyDown = function() {
	if (Key.getCode() == Key.ENTER) {
		ladestand();
	}
};
Key.addListener(myListener);
hast du das so gemeint? funktioniert leider nicht...
ich habs nun schon auch über die manuelle Änderung des selectedIndex versucht, das wollte er aber auch nicht fressen..

Geändert von lindsche (25-06-2009 um 09:16 Uhr)
lindsche ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele