Frage

Ich ziehe XML-Daten, um zu bestimmen, welche Spalten sichtbar sind, und die Breiten der einzelnen Spalten. Meine Datagrid Breite kann sinces seine auf einer Seite eines HDividedBox ändern. Die Sichtbarkeit Teil funktioniert, aber die Breite Einstellung verursacht Kopfschmerzen. Heres den Code:

for(loop through column data retrieve from XML)
{ 
    newData[i] = dg.columns[Number(columnsOrder[i]) - 1];
    newData[i].visible = (Number(columnsVisibility[i]) == 1);
    newData[i].width = Number(columnsWidth[i]);
    trace(newData[i].headerText + " w:" + newData[i].width.toString() + " v:" + newData[i].visible.toString());
}
dg.columns = newData;
dg.invalidateList();

In der Spur ist die Breite richtig für die ersten beiden Elemente jedoch seine als „20“ zeigt sich immer in Folge einer ...

Date w:240 v:true
Title w:184 v:true
Requestor w:20 v:true
Approved By w:20 v:true
Category w:20 v:false
Status w:20 v:false
Priority w:20 v:false

Wenn ich Ausgabenummer (columnsWidth [i]) als der richtige Wert zeigt sich so etwas seltsam ist in der Zuordnung der Breite geschieht.

für ein paar Stunden bei dieser nun auf der Suche, und haben mehrere Dinge versucht, es zu versuchen ohne Erfolg zu beheben.

War es hilfreich?

Lösung

  
    

Breite Mein Datagrid sinces seine auf einer Seite eines HDividedBox ändern.

  

Das ist das Problem recht.

stand ich genau das gleiche Problem mit Flex 2 und Flex 3 Datagridbreite, wenn die Breite für das Datagrid wurde nicht festgelegt. Die einzige Lösung, die ich hatte, war die Breite des Datagrid oder Switch Advanced oder andere ähnliche Komponenten zu beheben.

Andere Tipps

Ich habe die gleiche Sache in Advanced getan und es funktioniert. Versuchen Sie durch Einstellung dieser Werte

  horizontalScrollPolicy="on"
  width="100%

und fügen Sie dann Spalten sollte dies mit HDividedBox arbeiten.

Sie dies erreichen können, es ist, was ich glaube, um einen Fehler in dem Datagrid selbst ist.

Wenn Sie setzen minWidth = „0“ und horizontalScrollPolicy- = „{ScrollPolicy.AUTO}“ auf dem Datagrid, können Sie dann erstellen Datagrid Objekte mit festen Breiten und hat es richtig befolgt werden.

Es gibt jedoch nach wie vor scheint mit der letzten Spalte ein Problem zu sein, wenn das Datagrid immer noch größer als die Summe aller von den festen Breiten ist, wird es die letzte Datagrid ausstrecken.

Sie um diesen durch das Hinzufügen einer leere Spalte am Ende ohne Kopftext etc bekommen können.

Ok - wir haben in dieser selbst laufen, während Unterstützung Aufbau für verschiedene Spaltenbreite Modi. Nur ein wenig Leckerbissen der Informationen - wenn Sie ausdrücklich Breiten festlegen möchten, stellen Sie sicher, dass Sie etwas tun, wie folgt aus:

var oldPolicy:String = grid.horizontalScrollPolicy;
grid.horizontalScrollPolicy ="on"
//set your widths here
grid.horizontalScrollPolicy =oldPolicy;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top