DataGrid Komponente formatieren

Mayday171

Erfahrenes Mitglied
Hallo,

ich habe zur Zeit Probleme mit der DataGrid Komponente.
Mein Ziel bis jetzt ist es einfach nur die ColumnHeader zu formatieren bzw. den align auf center zu setzen und ggf. einen auto-width zu setzen, so das das DataGrid erkennt wann die Spalten breiter gemacht werden müssen.

Bin am Verzweifeln.

PHP:
this.createClassObject(mx.controls.DataGrid, "grid", 10, {columnNames:["name", "score"]});
grid.setSize(500, 200);

grid.addColumn("Number");
grid.getColumnAt(0).width=60;
grid.addColumn("active falut codes");
grid.getColumnAt(1).width=230;
grid.addColumn("Time");
grid.getColumnAt(2).width=120;
grid.addColumn("Count");
grid.getColumnAt(3).width=40;

Hab schon sämtliche Sachen prpobiert.

Bitte helft mir !

Danke

MfG
 
Hi,

laut Handbuch kannst Du die Header eines DataGrids per CSSStyleDeclaration anpassen:
Code:
import mx.styles.CSSStyleDeclaration;

var headerStyles = new CSSStyleDeclaration();
headerStyles.setStyle("fontWeight", "bold");
headerStyles.setStyle("textAlign", "center");
grid.setStyle("headerStyle", headerStyles);

Ob es eine autoResize-Methode für diese Komponente gibt, kann ich Dir nicht sagen. Wahrscheinlich müsstest Du Dir selbst eine Funktion schreiben, die regelmäßig den Inhalt aller Spalten überprüft, und diese nach der maximalen Textbreite neu skaliert.

Gruß
.
 
Das ganze hat wunderbar geklappt, danke!!

Hab jetzt aber noch ein Problem mit dem befüllen der Spalten

normalerweiße deklariere ich folgendermaßen ein Array für das DataGrid

PHP:
data = new Array({spalte1:"1",spalte2:"test"},{spalte1:"2",spalte2:"test2"})

wie bekomme ich das dynamisch erstellt z.B. in einer for-Schleife?

will bei mir nicht klappen

Danke
 
Meinst Du so etwas?
Code:
var d = new Array();

for (var i=0; i<10; i++) {
  d[i] = {spalte1:(i + 1), spalte2:"test" + (i + 1)};
}

Gruß
.
 
Zurück