| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2008
Beiträge: 114
| Dataprovider - mal wieder
Hallo Leute, ich habe folgendes Problem: ich will einen Datagrid füllen - die Spaltenüberschriften bzw. datafields bekomme ich teilweise dynamisch aus einer ArrayCollection. Ungefähr so: Code: this.gridCols = new Array();
gridCols.push(new DataGridColumn("Taskname"));
for(var i:int = 0; i < this.columns.length; i++)
{
gridCols.push(new DataGridColumn(this.columns.getItemAt(i).SpaltenName));
}
this.overviewWnd.overviewGrid.columns = gridCols; Doch wenn es dann ans befüllen geht wirds schwierig. Die Spaltennamen die ich aus meiner Collection hole (this.columns.getItemAt(0).SpaltenName) werden nicht erkannt und somit die daten auch nicht in die Spalte geschrieben... Code:
var all:ArrayCollection = new ArrayCollection();
all.addItem({
Taskname: "huhu",
this.columns.getItemAt(0).SpaltenName: "hallo" //hier besteht das Problem
});
this.overviewWnd.overviewGrid.dataProvider = all; Vielen dank Grüße Sythus |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Das kann ja auch nicht gehen. Object Instanzen kann man so nicht erzeugen - will man auch nicht, weil du so nie weisst, welche Properties es gibt und welche nicht. Gerade in generischen Szenarien ist das nicht sinnvoll.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Dec 2008
Beiträge: 114
|
Doch Omega, ich weiß nämlich nicht wieviele Spalten mein DataGrid haben wird.. das hängt von externen Gegebenheiten ab. Okay also ich komm nicht wirklich weiter, hier nochmal genau erklärt wasmich bedrückt: Stellt euch vor ihr habt 2 Arrays, Array1 und Array2.. im Array1 stehen die Namen und im Array2 die werte... nun möchte ich gerne einen dataprovider zb eine arraycollection damit aufbauen um später ein datagrid damit zu füllen: Code: var dp:ArrayCollection = new ArrayCollection({
array1[0]:array2[0],
array1[1]:array2[1],
array1[2]:array2[2]
}); Aber was wenn ich nicht weiß wieviel Elemente in den Arrays sind.. also ich nicht weiß wieviele Spalten mein Datagrid haben wird. Dann müsste ich die arrays mit einer for oder while schleife durchgehen, aber wie kriege ich eine Arraycollection mit einer Schleife genauso gefüllt wie oben in meinem beispiel. Danke für jede Hilfe.. ich komm echt nicht weiter Geändert von Sythus (15-07-2009 um 23:05 Uhr) |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 11.856
|
Man verwendet ja Arrays weil eben nicht weiss, wie viel, wie lang etc. Ich würde mir ein Metamodell erstellen, aus dem du dann die Tabelle generierst. Zwei Klassen: TableMetaModel und ColumnMetaModel. Ändert sich eine der Instanzen, updatest du deine View.
__________________ github: https://github.com/floriansalihovic/L18nExample <florian xmlns:speaker="www.beyondtellerrand.com/ffk11/speakers_sessions" xmlns:trainer="http://www.beyondtellerrand.com/ffk11/workshops" /> and @ g+ |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Feb 2010
Beiträge: 2
|
Also ich hänge an ziemlich der gleichen Sache und wollte deswegen keinen neuen Post machen. Ich rufe ein Webservice auf, dieser liefert mir als Ergebnis ein Result Array. Dies hat einen sehr "interessanten" Aufbau: array.lastResult[0] = Liefert mir die Anzahl der Spalten (Beispiel 2) array.lastResult[1] = Liefert mit die Anzahl der Reihen (Beispiel 3) danach folgt eine Reihe nach der anderen, wobei die erste Reihe die Spaltennamen enthalten. Also sieht es bei dem obigen Beispiel in etwa so aus: [2] [3] [Name] [Vorname] [Müller] [Hans] [Heinze] [Heinz] Ich schaffe es die Spalten dynamisch mit folgenden Code zu erstellen: PHP-Code: So war in etwa mein ansatz, wobei hier noch eine 2. forschleife fehlt. PHP-Code: Im Beispiel von oben würde dann in der Reihe 1 (Spalte 1): Müller stehen, in Reihe 2 (Spalte 2): Hans, in Reihe 3 (Spalte1): Heinze, in Reihe 4 (Spalte 2): Heinz. Statt alles nur in 2 Reihen. Jemand der mir weiterhelfen kann? Geändert von LazySiege (24-02-2010 um 09:30 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |