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

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-12-2008, 14:46   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Ort: .
Beiträge: 125
Wie neuen Datensatz in array schreiben?

Hi,

Ich möchte gerne eine Liste ausgeben der ich neue Einträge hinzufügen kann, welche automatisch nach der ID einsortiert werden - also nicht einfach ans Ende oder den Anfang gepackt werden.

Dazu erstelle ich ein Array und gebe dieses in einem Datagrid sortiert aus.
Soweit funktioniert das auch ABER:
wie füge ich jetzt einen neuen Datensatz (also eine "Zeile") zum Array hinzu?
Also wie sieht die syntax aus. Ich finde hunderte Beispiele um einen Wert zuzufügen aber nicht ID und Value gleichzeitig...

Hier mein Code zum erstellen des Arrays und sortieren sowie ausgeben im DataGrid.
Nach dem Drücken des Buttons soll ein neuer Eintrag hinzugefügt werden und automatisch entsprechend der ID in der Liste einsortiert werden.

PHP-Code:
var ratedItems:Array = new Array(
{
id:12value:"Wert1"},
{
id:21value:"Wert2"},
{
id:10value:"Wert3"},
{
id:01value:"Wert4"}
);
btn.onRelease = function(){
    
ratedItems.sortOn("id", Array.CASEINSENSITIVE);
    
myDataGrid.dataProvider ratedItems;
}
myDataGrid.dataProvider ratedItems;

ratedItems.sortOn("id", Array.CASEINSENSITIVE); 
Danke schon mal für Hilfestellungen,
aus Bielefeld,
Felix
__________________
.

Geändert von phenomenia (04-12-2008 um 14:48 Uhr)
phenomenia ist offline   Mit Zitat antworten
Alt 04-12-2008, 14:49   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ich finde hunderte Beispiele um einen Wert zuzufügen aber nicht ID und Value gleichzeitig...
Übergib halt ein Objekt und setz ID und Value als Objekteigenschaften. Also erst mit addItem ein neues Objekt an den dataProvider liefern und dann das dataProvider-Array neusortieren lassen und ggf. die Komponente refreshen.

Geändert von agedoubleju (04-12-2008 um 14:51 Uhr)
  Mit Zitat antworten
Alt 04-12-2008, 14:59   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Ort: .
Beiträge: 125
Zitat:
Zitat von agedoubleju Beitrag anzeigen
Übergib halt ein Objekt und setz ID und Value als Objekteigenschaften. Also erst mit addItem ein neues Objekt an den dataProvider liefern und dann das dataProvider-Array neusortieren lassen und ggf. die Komponente refreshen.
Ok, nen neues Objekt direkt in den DG zu scrheiben habe ich auch schon gemacht, aber dachte das es dann ja nicht alles in einem "großen" Array ist und ich muss wenn alles einsortiert ist mit der Liste weiterarbeiten können...

Wie sortiere ich das "DataGrid Array" wie du es genannt hast?

Also mit
PHP-Code:
var item_obj:Object = {id:05value:"Beispiel"};
    
myDataGrid.addItemAt(0item_obj); 
kann ich die neue Zeile ja einfügen, aber wie sortiere ich das dann alles??
__________________
.
phenomenia ist offline   Mit Zitat antworten
Alt 04-12-2008, 15:02   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
->verschoben

Zitat:
Wie sortiere ich das "DataGrid Array" wie du es genannt hast?
Der dataProvider des DataGrids ist auch nur ein Array von Objekten. Das kannst du mit deiner sort-Funktion sortieren lassen. Und die refresh-Methoden solltest du in der Flash-Hilfe nachschlagen.
  Mit Zitat antworten
Alt 04-12-2008, 15:20   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Ort: .
Beiträge: 125
OK, das hat soweit alles funktioniert, danke schonmal..

Beim Sortieren habe ich nun nur noch das Problem das er eine 10 über der 2 anordnet, da ja die 10 mit einer 1 beginnt.

Kann ich irgendwie bestimmen das die Zahl (ID) immer z.B. 4 stellig sein soll und eine 10 beispielsweise dann noch 2 Führungsnullen bekommen würde, eine 100 aber nur eine?
__________________
.
phenomenia ist offline   Mit Zitat antworten
Alt 04-12-2008, 15:43   #6 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Ort: .
Beiträge: 125
So, habs gerade hinbekommen, auch wenn es evtl ne elegantere Lösung gibt.

PHP-Code:
if (sliderPosition 9) {
        
sliderPosition "0" sliderPosition
    
}
    if (
sliderPosition 99) {
        
sliderPosition "0" sliderPosition
    
}
    if (
sliderPosition 999) {
        
sliderPosition "0" sliderPosition
    

Danke für deine Hilfe nochmal...
__________________
.
phenomenia 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 11:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele