달력

7

« 2025/7 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2011. 10. 12. 11:57

[Flex] spark datagrid itemeditor 공부/flex2011. 10. 12. 11:57


mx dataGrid 는 itemEditor를 사용해서 값을 바꾸면 바로 적용되는데...

spark dataGrid는 값이 Commit 되지않는다..

mx dataGrid에서 column에 editorDataField속성에 값을 지정해주면 바로 커밋되는데.....

왤까....????? spark column에는속성도없고... 뭘써야되는지....-_-

오늘의 숙제다.


--------------------------------------------------------------------------------------------
Adobe Help 참조
<?xml version="1.0" encoding="utf-8"?>
<!-- dpcontrols\sparkdpcontrols\SparkDGItemEditor.mxml -->
<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="450">
    <fx:Script>
        <![CDATA[                
            import mx.collections.ArrayCollection;
            
            [Bindable]
            private var myDP:ArrayCollection = new ArrayCollection([
                {label1:"Order #2314", quant:3, Sent:true},
                {label1:"Order #2315", quant:3, Sent:false}     
            ]);       
        ]]>
    </fx:Script>
    
    <s:DataGrid id="myDG" width="100%" 
        dataProvider="{myDP}" 
        variableRowHeight="true" 
        editable="true" >
        <s:columns>
            <s:ArrayList>
                <s:GridColumn dataField="label1" headerText="Order #"/>
                <s:GridColumn dataField="quant" 
                    headerText="Qty"
                    itemEditor="myComponents.DGNumStepperEditor"/>
            </s:ArrayList> 
        </s:columns >
    </s:DataGrid> 
</s:Application>

<?xml version="1.0" encoding="utf-8"?>
<!-- dpcontrols\sparkdpcontrols\myComponents\DGNumStepperEditor.mxml -->
<s:GridItemEditor xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            
            // Override the setter to initialize the NumericStepper control
            // with the cell data.
            override public function set value(newValue:Object):void {
                ns.value = newValue as Number;
            }

            // Override the getter to return the current value of 
            // the NumericStepper control.
            // The save() method updates the data provider element for the
            // row of the grid with this value. 
            override public function get value():Object {
                return ns.value;
            }
            
            // Override setFocus() to shift focus to the NumericStepper.
            override public function setFocus():void {
                ns.setFocus();
            }
        ]]>
    </fx:Script>

    <s:NumericStepper id="ns" width="100%"
        fontWeight="bold"/>
</s:GridItemEditor>
flex 4.5 부터는 set value 와 get value로 자동 commit이 되네...
:
Posted by 알 수 없는 사용자
2011. 10. 5. 14:49

[Flex] CursorManager && Graphic..path.. 공부/flex2011. 10. 5. 14:49


<?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"
      creationComplete="eventInit()">
 <fx:Script>
  <![CDATA[
   import component.CGraphicBase;
   
   import mx.managers.CursorManagerPriority;
   import mx.managers.CursorManager;

   [Bindable]
   [Embed(source="img/tag.png")]
   public var customCursor:Class;
   private function eventInit():void{
        var oItem:Object = new Object();
        oItem.name = "testGraphic";
        oItem.today = new Date();
        //make Graphic
         var oGraphic:CGraphicBase = new CGraphicBase();
        oGraphic.graphicInfo = oItem;
        oGraphic.width =200;
        oGraphic.height = 100;
        oGraphic.x = 100;
        oGraphic.y = 100;
        oGraphic.color = 0xF19232;
        oGraphic.toolTip = oItem.name + "-" + oItem.today.toString();
        oGraphic.reFreshImage();
        oGraphic.addEventListener(MouseEvent.MOUSE_OVER,eventMouseOver);
        oGraphic.addEventListener(MouseEvent.MOUSE_OUT,eventMouseOut);
        bc.addElement(oGraphic);
   }
   private function eventMouseOver(event:MouseEvent):void{
        var oTarget:CGraphicBase = event.currentTarget as CGraphicBase;
        CursorManager.setCursor(customCursor, CursorManagerPriority.HIGH, 3, 2);
   }
   private function eventMouseOut(event:MouseEvent):void{
        var oTarget:CGraphicBase = event.currentTarget as CGraphicBase;
        CursorManager.removeAllCursors();
   }
  ]]>
 </fx:Script>
 <s:BorderContainer id="bc" width="100%" height="100%">
  
 </s:BorderContainer>
</s:Application>
 





CGraphicBase

<?xml version="1.0" encoding="utf-8"?>
<s:Graphic xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx"
     xmlns:common="common.*">
 <fx:Script>
  <![CDATA[
   private var oInfo:Object;
   public function set graphicInfo(value:Object):void{
    oInfo = value;
   }
   public function get graphicInfo():Object{
    return oInfo;
   }
   public function set color(value:uint):void{
    ge.color = value;
   }
   public function set fillAlpha(value:Number):void{
    ge.alpha = value;
   }
   public function get fillAlpha():Number{
    return ge.alpha;
   }
   public function reFreshImage():void{
    btnPath.data = "M 0 0 L "+this.width.toString()+" 0 L "+this.width.toString()+" "+this.height.toString()+" L 0 "+this.height.toString()+ " L 0 0 ";
   }
  ]]>
 </fx:Script>
 <s:Path id="btnPath">        
  <s:fill>
   <s:LinearGradient rotation="90">
    <s:GradientEntry id="ge" color="#F7CB3C" alpha=".6"/>
   </s:LinearGradient>
  </s:fill>       
  <s:stroke>            
   <s:SolidColorStroke id="outline" alpha="1" color="{ge.color}" weight="1" />       
  </s:stroke>    
 </s:Path>
</s:Graphic>



:
Posted by 알 수 없는 사용자
2011. 10. 5. 14:01

[Flex] Spark DataGrid Html ItemRenderer rowheight 공부/flex2011. 10. 5. 14:01



<s:DataGrid id="dg" width="100%" height="100%" dataProvider="{acDGData}" variableRowHeight="true">
     <s:columns>
          <s:ArrayList>
             <s:GridColumn headerText="no." dataField="no"/>
             <s:GridColumn headerText="社員名" dataField="name"/>
             <s:GridColumn headerText="お知らせ" dataField="news" >
                 <s:itemRenderer>
                    <fx:Component>
                        <s:GridItemRenderer>
                            <mx:Text htmlText="{data.news}" width="100%" height="100%"/>
                        </s:GridItemRenderer>
                    </fx:Component>
                </s:itemRenderer>
            </s:GridColumn>
          </s:ArrayList>
     </s:columns>         
 </s:DataGrid>




[Bindable]
public var acDGData:ArrayCollection = new ArrayCollection([{no:1,name:"管理者",news:"お知らせテスト"},{no:2,name:"管理者",news:"お知らせテスト2"}.......]);


'공부 > flex' 카테고리의 다른 글

[Flex] spark DropDownList MultiSelect  (0) 2011.10.11
[Flex] CursorManager && Graphic..path..  (0) 2011.10.05
[Flex]Spark DataGrid HeaderRenderer CheckBox  (0) 2011.10.05
[Flex] Spark DataGrid ItemRenderer  (0) 2011.10.05
[Flex] Date "YYYY/MM/DD"  (2) 2011.09.23
:
Posted by 알 수 없는 사용자
2011. 10. 5. 11:36

[Flex]Spark DataGrid HeaderRenderer CheckBox 공부/flex2011. 10. 5. 11:36

<s:DataGrid id="dg_userlist" width="100%" height="100%"
      styleName="predictBorder"
      doubleClickEnabled="false" gridDoubleClick="eventEditUser()" >
    <s:columns>
     <s:ArrayList>
      <s:GridColumn dataField="check" width="30" itemRenderer="renderers.checkBoxItemRender"
           headerRenderer="renderers.checkBoxHeaderRender" sortable="false"/>
      <s:GridColumn headerText="ユーザーID" dataField="no"/>
      <s:GridColumn headerText="ユーザー名" dataField="emp_name"/>
      <s:GridColumn headerText="職種" dataField="emp_staff"/>
      <s:GridColumn headerText="雇用タイプ" dataField="emp_type"/>
      <s:GridColumn headerText="性別" dataField="emp_sex"/>
     </s:ArrayList>
    </s:columns>
   </s:DataGrid>



<?xml version="1.0" encoding="utf-8"?>
<s:DefaultGridHeaderRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:mx="library://ns.adobe.com/flex/mx" height="30">
 <fx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
   import mx.core.FlexGlobals;
   import spark.components.DataGrid;

   public function eventClick(value:Boolean):void{
        var obj:DataGrid = automationOwner as DataGrid;
        var arr:ArrayCollection = obj.dataProvider as ArrayCollection;
        for(var i:int=0 ;i<arr.length; i++){
           arr[i].check = value;
        }
        obj.dataProvider = null;
        obj.dataProvider = arr;
   }
   
  ]]>
 </fx:Script>
   <s:CheckBox id="cb_header" click="eventClick(cb_header.selected)" left="7" top="5"/>
</s:DefaultGridHeaderRenderer>







<?xml version="1.0" encoding="utf-8"?>
<s:GridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
     xmlns:s="library://ns.adobe.com/flex/spark"
     xmlns:mx="library://ns.adobe.com/flex/mx" clipAndEnableScrolling="true">
 
 <fx:Script>
  <![CDATA[
   import mx.controls.listClasses.ListData;
   private var isChanged:Boolean = false;

 override public function prepare(hasBeenRecycled:Boolean):void {
    if(data){
     lblData.selected = data[column.dataField];
    }else{
     lblData.selected = false;
    }
   }
   public function eventClick():void{
    data[column.dataField] = lblData.selected;
   }
  ]]>
 </fx:Script>
 <s:CheckBox id="lblData" top="9" left="7" click="eventClick()" />
</s:GridItemRenderer>







:
Posted by 알 수 없는 사용자
2011. 10. 5. 11:28

[Flex] Spark DataGrid ItemRenderer 공부/flex2011. 10. 5. 11:28



<s:DataGrid id="dg" width="100%" height="100%" dataProvider="{acDGData}">
         <s:columns>
          <s:ArrayList>
           <s:GridColumn headerText="no." dataField="no"/>
           <s:GridColumn headerText="社員名" dataField="name"/>
           <s:GridColumn headerText="お知らせ" dataField="news">
            <s:itemRenderer>
             <fx:Component>
              <s:GridItemRenderer>
               <s:TextArea text="{data.news}"/>
              </s:GridItemRenderer>
             </fx:Component>
            </s:itemRenderer>
           </s:GridColumn>
          </s:ArrayList>
         </s:columns>         
        </s:DataGrid>
:
Posted by 알 수 없는 사용자