Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-04-2008, 10:04   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
AdvancedDataGridColumnGroup

Hallo zusammen,

könnte mir wohl jemand kurz erklären, wie ich ein AdvancedDataGrid in AS3 erstelle? Wichtig ist mir dabei vor allem die AdvancedDataGridColumnGroup..

In MXML geht das ja recht einfach
Code:
<mx:AdvancedDataGrid>
  <mx:AdvancedDataGridColumn/>
  <mx:AdvancedDataGridColumn/>
  <mx:AdvancedDataGridColumnGroup>
    <mx:AdvancedDataGridColumn/>
    <mx:AdvancedDataGridColumn/>
  <mx:AdvancedDataGridColumnGroup/>
<mx:AdvancedDataGrid/>
Nur im AS3 hab ich da so meine Schwierigkeiten.
So siehts bisher aus...

Code:
private function fill():void
{
  var dgcolumns:Array = new Array();
  var adgc:AdvancedDataGridColumn;
	
  adgc = new AdvancedDataGridColumn("Überschrift1");
  adgc.dataField = "wert1";
  adgc.width = 55;
  columnsNew.push(adgc);
	
  advdatagrid.columns = dgcolumns;
}
Mir ist einfach nicht klar, wie ich eine DataGridColumnGroup aufbauen muss, habe bisher nur MXML Beispiele gefunden..

Über ein kleines Beispiel oder einen Link würde ich mich freuen

Gruß
Doesel
Doesel ist offline   Mit Zitat antworten
Alt 16-04-2008, 11:02   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
->verschoben
  Mit Zitat antworten
Alt 16-04-2008, 13:27   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
hmm, niemand ne Ahnung?

hab das hier gefunden, bringt mich aber nicht wirklich weiter...
Zitat:
Property
children:Array
An Array of AdvancedDataGridColumn instances that define the columns of the column group
Code:
private function fill():void
{
  var dgcolumns:Array = new Array();
  var adgc:AdvancedDataGridColumn;
  var adgcg:AdvancedDataGridColumnGroup;
	
  adgc = new AdvancedDataGridColumn("Überschrift1");
  adgc.dataField = "wert1";
  adgc.width = 55;
//  dgcolumns.push(adgc);

  adgcg = new AdvancedDataGridColumnGroup("Überschrift2");
  adgcg.children = [adgc];
  dgcolumns.push(adgcg);
	
  advdatagrid.columns = dgcolumns;
}
das funktioniert aber so nicht, nur keine Ahnung warum (Fehler kommt keiner..)
Doesel ist offline   Mit Zitat antworten
Alt 16-04-2008, 16:47   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
50 Zugriffe, und keiner hat einen Hinweis? Oder hats einfach noch niemand in AS3 probiert?
Doesel ist offline   Mit Zitat antworten
Alt 16-04-2008, 17:19   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application applicationComplete="eventListener(event)"
		layout="vertical"
		xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
		<![CDATA[
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup;
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
			import mx.messaging.AbstractConsumer;
			import mx.controls.AdvancedDataGrid;
			private var ad:AdvancedDataGrid;
			private function eventListener(event:Event):void {
				var adcg:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup();
				adcg.children = new Array(new AdvancedDataGridColumn("name"),
					new AdvancedDataGridColumn("street"),
					new AdvancedDataGridColumn("zip"),
					new AdvancedDataGridColumn("city"));
				this.ad = new AdvancedDataGrid();
				this.ad.groupedColumns = adcg.children; 
				this.addChild(ad);
			}
		]]>
	</mx:Script>
</mx:Application>
Wenn ich die API nicht ganz falsch verstanden hab, sollte es so laufen.
Omega Psi ist offline   Mit Zitat antworten
Alt 16-04-2008, 17:22   #6 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
Dank dir,
werde es morgen direkt testen und Rückmeldung geben!

Gruß
Doesel
Doesel ist offline   Mit Zitat antworten
Alt 16-04-2008, 17:29   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Es kompiliert und zeigt das richtige an...
Omega Psi ist offline   Mit Zitat antworten
Alt 17-04-2008, 07:44   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
Guten Morgen,

leider zeigts nicht das richtige an..

So wie es jetzt ausschaut hätte man sich die Group sparen können, sind 4 einzelne AdvancedDG Columns, was man so auch mit einem normalen Grid hätte darstellen können. Was ich brauche ist aber ein grouped Column in diesem Advanced Grid... also x-advanced Columns und dazwischen ein grouped Column mit 2 advanced.. eben so wie in dem MXML Beispiel im ersten Post.
Ich werde aber nochmal weiter experimentieren, danke für deine Hilfe
Doesel ist offline   Mit Zitat antworten
Alt 17-04-2008, 08:02   #9 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Mir ging's da nur um's Prinzip. Da dein Beipiel bei mir nicht kompiliert. Brauchst du sowas?
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:AdvancedDataGrid>
		<mx:columns>
	  		<mx:AdvancedDataGridColumn headerText="header1"/>
    		<mx:AdvancedDataGridColumn headerText="header2"/>
    		<mx:AdvancedDataGridColumnGroup>
    			<mx:Array>
    				<mx:AdvancedDataGridColumn headerText="embedded1"/>
    				<mx:AdvancedDataGridColumn headerText="embedded2"/>
    			</mx:Array>
    		</mx:AdvancedDataGridColumnGroup>
		</mx:columns>
  	</mx:AdvancedDataGrid>
</mx:Application>
Omega Psi ist offline   Mit Zitat antworten
Alt 17-04-2008, 08:04   #10 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
Jups, genau sowas... hatte oben im Beispiel alles weggelassen, dachte man sieht worauf ich hinaus wollte. Mein Fehler..
Doesel ist offline   Mit Zitat antworten
Alt 17-04-2008, 08:18   #11 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Nochmal als Gegendüberstellung:

MXML:
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
	<mx:AdvancedDataGrid>
		<mx:columns>
	  		<mx:AdvancedDataGridColumn headerText="header1"/>
    		<mx:AdvancedDataGridColumn headerText="header2"/>
    		<mx:AdvancedDataGridColumnGroup headerText="embedded">
    			<mx:Array>
    				<mx:AdvancedDataGridColumn headerText="embedded1"/>
    				<mx:AdvancedDataGridColumn headerText="embedded2"/>
    			</mx:Array>
    		</mx:AdvancedDataGridColumnGroup>
		</mx:columns>
  	</mx:AdvancedDataGrid>
</mx:Application>
ActionScript:
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application applicationComplete="eventListener(event)"
		layout="vertical" xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
		<![CDATA[
			import mx.controls.AdvancedDataGrid;
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup;
			private var ad:AdvancedDataGrid;
			private function eventListener(event:Event):void {
				var adcg:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup("embedded");
				adcg.children = new Array(new AdvancedDataGridColumn("embedded1"),
						new AdvancedDataGridColumn("embedded1"));
				this.ad = new AdvancedDataGrid();
				this.ad.columns = new Array(new AdvancedDataGridColumn("header1"),
						new AdvancedDataGridColumn("header2"), adcg);
				this.addChild(this.ad);
			}
		]]>
	</mx:Script>
</mx:Application>
Omega Psi ist offline   Mit Zitat antworten
Alt 17-04-2008, 08:21   #12 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
So muss es sein:
Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application applicationComplete="eventListener(event)"
		layout="vertical" xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
		<![CDATA[
			import mx.controls.AdvancedDataGrid;
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
			import mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup;
			private var ad:AdvancedDataGrid;
			private function eventListener(event:Event):void {
				var adcg:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup("embedded");
				adcg.children = new Array(new AdvancedDataGridColumn("embedded1"),
						new AdvancedDataGridColumn("embedded1"));
				this.ad = new AdvancedDataGrid();
				this.ad.groupedColumns = new Array(new AdvancedDataGridColumn("header1"),
						new AdvancedDataGridColumn("header2"), adcg);
				this.addChild(this.ad);
			}
		]]>
	</mx:Script>
</mx:Application>
Omega Psi ist offline   Mit Zitat antworten
Alt 17-04-2008, 08:54   #13 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
super, vielen Dank, so klappts auf jeden Fall schonmal mit der Darstellung!

Code:
public function init():void
 			{			        		
        		var dgca1:AdvancedDataGridColumn = new AdvancedDataGridColumn("header");
        		dgca1.dataField = "data";
        		dgca1.width = 55;
        		
        		var dgca2:AdvancedDataGridColumn = new AdvancedDataGridColumn("header");
        		dgca2.dataField = "data";
        		
        		var dgca3:AdvancedDataGridColumn = new AdvancedDataGridColumn("group1");
        		dgca3.dataField = "data";
        		
        		var dgca4:AdvancedDataGridColumn = new AdvancedDataGridColumn("group2");
        		dgca4.dataField = "data";
        		
        		var dgca5:AdvancedDataGridColumn = new AdvancedDataGridColumn("header");
        		dgca5.dataField = "data";
        		
        		var dgca6:AdvancedDataGridColumn = new AdvancedDataGridColumn("header");
        		dgca6.dataField = "data";
      		        		
        		var adgcg:AdvancedDataGridColumnGroup = new AdvancedDataGridColumnGroup("header");
        		adgcg.children = new Array(dgca3, dgca4);
        								   
        		advgrid.groupedColumns = new Array(dgca1, dgca2, adgcg, dgca5, dgca6);

 			}
Das einzige Problem, das jetzt noch bleibt, ist... In den grouped Columns werden keine Daten angezeigt, obwohl ich die Property dataField mit angegeben habe?! Wie müsste ich das stattdessen angeben?

Gruß
Doesel ist offline   Mit Zitat antworten
Alt 17-04-2008, 08:58   #14 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Keine Ahnung. Ich hab heute morgen auch das erste mal damit gearbeitet. Wieso zeigen die Columns alle auf das gleiche Feld?
Omega Psi ist offline   Mit Zitat antworten
Alt 17-04-2008, 09:08   #15 (permalink)
Neuer User
 
Registriert seit: Mar 2008
Beiträge: 50
weil ich das gerade so eingegeben habe!
und selbst wenn, darstellen müssten sie die Daten ja dennoch, egal welches dataField angegeben wird (sofern Daten vorhanden sind).

habe noch kurz getestet, andere Eigenschaften werden übernommen (width z.B.)
Doesel 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 an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele