| |||||||
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) |
| keep cool... Registriert seit: Mar 2006 Ort: Erlangen
Beiträge: 356
| DataGrid
Hy, wie kann ich per Entertaste in der selektierten Zeile in eine bestimmte Zelle eine Radiobuttongroup hinzuadden? Das mit dem Keyevent auf die selektierte Zeile habe ich schon, nur weiß ich nicht, wie ich nun zusätzlich zum Text in einer Zelle eine Radiobuttongroup einfügen kann... Danke schon mal --> Flex 4 Grüße |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Du musst einen ItemRenderer bauen. Aber was soll dir eine RadioButtonGroup bringen, ohne RadioButtons. -> das lässt sich nicht mit zwei Sätzen beantworten.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) | |
| keep cool... Registriert seit: Mar 2006 Ort: Erlangen
Beiträge: 356
|
Hy, Zitat:
das ist mir schon klar, dachte nicht, das ich es extra noch erwähnen sollte...ItemRenderer habe ich schon, bin gerade am rumbasteln... | |
| | |
| | #4 (permalink) |
| keep cool... Registriert seit: Mar 2006 Ort: Erlangen
Beiträge: 356
|
Hy, habe es soweit hinbekommen, nur wenn ich mit Enter die Zeile vergrößere, dann haben die Radiobuttons keinen Fokus. Erst wenn ich mit der Maus einen anklicke, dann haben sie ihn. Wie kann ich den Radiobuttons per Script (abfangen der Pfeilaste nach rechts, oder so...) den Focus geben? Grund: Es soll mit der Tastatur bedienbar sein... Danke Grüße |
| | |
| | #5 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Das könnte noch zu Kopfschmerzen führen. Wenn der Click im Renderer ankommt, könntest du es mit dem FocusManager versuchen. Das mag schon ausreichen.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #7 (permalink) |
| keep cool... Registriert seit: Mar 2006 Ort: Erlangen
Beiträge: 356
|
Hy Omega Psi, hast du hierfür evtl. noch nen Tip? --> Pfeiltaste nach links setzt den Focus wieder aufs DG, um mit den Pfeiltasten up und down durch die Zeilen navigieren zu können. Geht bedingt, da beim drücken der Pfeiltaste (links) zwar das DG den Focus erhält, aber bei den Radiobuttons der Focus sich um 1 verschiebt, da ja normal auf den Pfeiltasten durch die Radiobuttons navigiert werden kann... D.h., wenn der 2. Radio selected ist und die Pfeiltaste (links) gedrückt wird, bekommt das DG den Focus (passt) aber es ist dann der 1. Radio selected. Grüße |
| | |
| | #8 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
Sorry, da muss ich gerade passen. Müsste mch da selbst erstmal intensiver mit befassen.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #9 (permalink) |
| keep cool... Registriert seit: Mar 2006 Ort: Erlangen
Beiträge: 356
|
Hy Omega Psi, no Prob... Das mit den Pfeiltasten habe ich hinbekommen... Nur gibts jetzt ein anderes Prob...Auf Enter springen die Selektionen der Radiobuttons auf und ab und die Vorbelegung der Radiobuttons passt auch nicht, wie ich es in der XML zugewiesen habe... Wenn du Zeit und Lust hast, kannste da ja mal gucken... :-) Im Tabnav --> Übersicht Danke Grüße xml Code: <?xml version="1.0" encoding="utf-8"?> <questions> <question id="0"> <nr></nr> <frage></frage> <antwort></antwort> <antwortRB1></antwortRB1> <antwortRB1SELECT></antwortRB1SELECT> <antwortRB2></antwortRB2> <antwortRB2SELECT></antwortRB2SELECT> <antwortRB3></antwortRB3> <antwortRB3SELECT></antwortRB3SELECT> <score></score> <bemerkung></bemerkung> <open></open> </question> <question id="1"> <nr>1</nr> <frage>Frage Nr 1 steht hier....</frage> <antwortText>Weiß ich nicht</antwortText> <antwortRB1>Ja</antwortRB1> <antwortRB1SELECT>false</antwortRB1SELECT> <antwortRB2>Nein</antwortRB2> <antwortRB2SELECT>false</antwortRB2SELECT> <antwortRB3>Weiss ich nicht</antwortRB3> <antwortRB3SELECT>true</antwortRB3SELECT> <score>1</score> <bemerkung>images/blank.png</bemerkung> <open>false</open> </question> <question id="2"> <nr>2</nr> <frage>Frage Nr 2 steht hier....</frage> <antwortText>Ja</antwortText> <antwortRB1>Ja</antwortRB1> <antwortRB1SELECT>true</antwortRB1SELECT> <antwortRB2>Nein</antwortRB2> <antwortRB2SELECT>false</antwortRB2SELECT> <antwortRB3>Weiss ich nicht</antwortRB3> <antwortRB3SELECT>false</antwortRB3SELECT> <score>2</score> <bemerkung>images/missing_single.png</bemerkung> <open>true</open> </question> <question id="3"> <nr>3</nr> <frage>Frage Nr 3 steht hier....</frage> <antwortText>Nein</antwortText> <antwortRB1>Ja</antwortRB1> <antwortRB1SELECT>false</antwortRB1SELECT> <antwortRB2>Nein</antwortRB2> <antwortRB2SELECT>true</antwortRB2SELECT> <antwortRB3>Weiss ich nicht</antwortRB3> <antwortRB3SELECT>false</antwortRB3SELECT> <score>2</score> <bemerkung>images/missing_warning.png</bemerkung> <open>true</open> </question> <question id="4"> <nr>4</nr> <frage>Frage Nr 4 steht hier....</frage> <antwortText>Weiss ich nicht</antwortText> <antwortRB1>Ja</antwortRB1> <antwortRB1SELECT>false</antwortRB1SELECT> <antwortRB2>Nein</antwortRB2> <antwortRB2SELECT>false</antwortRB2SELECT> <antwortRB3>Weiss ich nicht</antwortRB3> <antwortRB3SELECT>true</antwortRB3SELECT> <score>1</score> <bemerkung>images/blank.png</bemerkung> <open>false</open> </question> <question id="5"> <nr>5</nr> <frage>Frage Nr 5 steht hier....</frage> <antwortText>Ja</antwortText> <antwortRB1>Ja</antwortRB1> <antwortRB1SELECT>true</antwortRB1SELECT> <antwortRB2>Nein</antwortRB2> <antwortRB2SELECT>false</antwortRB2SELECT> <antwortRB3>Weiss ich nicht</antwortRB3> <antwortRB3SELECT>false</antwortRB3SELECT> <score>1</score> <bemerkung>images/blank.png</bemerkung> <open>false</open> </question> </questions> mxml Code: <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="1002" height="680" backgroundColor="#D7EEFA"
creationComplete="initApp()"
applicationComplete="appComplete()">
<fx:Declarations>
<fx:XML id="questions" source="Questions.xml"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.core.FlexGlobals;
import mx.events.IndexChangedEvent;
private function initApp():void
{
dg.setFocus();
dg.selectedIndex = 1;
}
private function appComplete():void
{
dg.addEventListener( KeyboardEvent.KEY_UP, keyHandler );
}
public function keyHandler( event:KeyboardEvent):void
{
if( event.keyCode == Keyboard.LEFT )
{
event.stopImmediatePropagation();
dg.setFocus();
//dg.selectedIndex += 1;
}
}
private function tabChangeView( event:IndexChangedEvent ):void
{
if( event.newIndex == 0 )
{
}
else if( event.newIndex == 1 )
{
dg.setFocus();
}
else if( event.newIndex == 2 )
{
}
}
]]>
</fx:Script>
<mx:TabNavigator x="14.7" y="10.25" width="964" height="651" change="{tabChangeView(event)}" creationPolicy="all">
<s:NavigatorContent label="Auswertung" width="100%" height="100%" id="tab_Analysis">
</s:NavigatorContent>
<s:NavigatorContent label="Übersicht" width="100%" height="100%" id="tab_Uebersicht">
<mx:DataGrid id="dg" color="0x323232" width="890" dataProvider="{questions.question}" height="567" variableRowHeight="true" dropShadowVisible="true" x="41" y="16">
<mx:columns>
<mx:DataGridColumn dataField="nr" headerText="Nr" width="50" textAlign="center"/>
<mx:DataGridColumn dataField="frage" headerText="Frage" width="300"/>
<mx:DataGridColumn dataField="antwortText" headerText="Antwort" width="300" itemRenderer="MyRenderer" />
<mx:DataGridColumn dataField="score" headerText="Score" width="50" textAlign="center"/>
<mx:DataGridColumn dataField="bemerkung" headerText="Bemerkung" width="100">
<mx:itemRenderer>
<fx:Component>
<mx:Image scaleContent="false" width="22"/>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</s:NavigatorContent>
<s:NavigatorContent label="Fragebogen" width="100%" height="100%" id="tab_Questionary">
</s:NavigatorContent>
</mx:TabNavigator>
</s:Application> Code: <?xml version="1.0" encoding="utf-8"?>
<mx:HBox width="100%" height="26" horizontalGap="4"
xmlns:mx="http://www.adobe.com/2006/mxml"
verticalScrollPolicy="off" horizontalScrollPolicy="off"
creationComplete="init()"
implements="mx.controls.listClasses.IDropInListItemRenderer">
<mx:Script>
<![CDATA[
import mx.containers.Canvas;
import mx.controls.Button;
import mx.controls.DataGrid;
import mx.controls.RadioButton;
import mx.controls.RadioButtonGroup;
import mx.controls.Text;
import mx.controls.listClasses.BaseListData;
private var _dg:DataGrid;
private var _listData:BaseListData;
private var lastIndexRBG:String = "";
public function get listData():BaseListData
{
return _listData;
}
public function set listData( value:BaseListData ):void
{
_listData = value;
invalidateProperties();
}
private function init():void
{
_dg = _listData.owner as DataGrid;
_dg.addEventListener( KeyboardEvent.KEY_UP, itemSelect );
if( data.open == "" )
{
this.height = 0;
this.enabled = false;
this.visible = false;
this.focusEnabled = false;
this.maxHeight = 0;
this.setStyle( "height", 0 );
}
else if( data.open == true )
this.height = 140;
else
this.height = 26;
}
override public function set data( value:Object ):void
{
super.data = value;
if( value == null )
{
textArea.text = "";
return;
}
textArea.setStyle("fontWeight", "bold");
textArea.text = value.antwortText;
}
public function itemSelect( event:KeyboardEvent):void
{
if( data.open == false )
{
if( event.keyCode == Keyboard.ENTER )
{
if( _dg.selectedItem == data )
{
this.height = 140;
}
else
{
this.height = 26;
}
}
}
if( event.keyCode == Keyboard.RIGHT )
{
if( _dg.selectedItem == data )
{
btnSetFocus.dispatchEvent( new MouseEvent(MouseEvent.CLICK) );
}
}
}
public function dgFocus( event:KeyboardEvent ):void
{
if( event.keyCode == Keyboard.LEFT )
{
checkRadioSelect();
}
if( event.keyCode == Keyboard.DOWN || event.keyCode == Keyboard.UP )
{
lastIndexRBG = rbg.selection.id;
}
}
public function focusChange( event:FocusEvent ):void
{
this.addEventListener( KeyboardEvent.KEY_UP, dgFocus );
}
private function checkRadioSelect():void
{
if( lastIndexRBG == "rbtn01" )
rbtn01.selected = true;
else if( lastIndexRBG == "rbtn02" )
rbtn02.selected = true;
else if( lastIndexRBG == "rbtn03" )
rbtn03.selected = true;
}
]]>
</mx:Script>
<mx:Canvas height="140" width="623" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<mx:Text id="textArea" x="11" y="1"/>
<mx:RadioButtonGroup id="rbg" enabled="true"/>
<mx:RadioButton x="18" y="30" focusOut="focusChange(event)" selected="{Boolean(data.antwortRB1SELECT)}" id="rbtn01" label="{data.antwortRB1}" groupName="rbg" />
<mx:RadioButton x="18" y="60" focusOut="focusChange(event)" selected="{Boolean(data.antwortRB2SELECT)}" id="rbtn02" label="{data.antwortRB2}" groupName="rbg"/>
<mx:RadioButton x="18" y="90" focusOut="focusChange(event)" selected="{Boolean(data.antwortRB3SELECT)}" id="rbtn03" label="{data.antwortRB3}" groupName="rbg" />
<mx:Button x="269" y="2" width="20" id="btnSetFocus" visible="false" click="focusManager.setFocus(rbtn01)"/>
</mx:Canvas>
</mx:HBox> |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| XML mit Datagrid | rmich | Flex allgemein | 2 | 01-12-2006 10:42 |
| Inhalte von einem Datagrid in ein zweites Datagrid übergeben...?! | dahoody | Flash MX 2004 | 0 | 16-02-2005 14:19 |
| DataGrid mit xml | daltonismo | Komponenten und SmartClips | 1 | 04-10-2004 13:55 |
| DataGrid | silentx | Flash MX | 0 | 01-08-2004 13:34 |
| DataGrid | Hydra | Flash MX 2004 | 0 | 22-06-2004 04:11 |