Archive for 8월 10, 2006

datagrid에 대한 subTotals.

http://www.helpqlodhelp.com/blog/archives/000154.html

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute”>
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            
            [Bindable]
            private var dataProvider : ArrayCollection = createData();
            
            private function createData() : ArrayCollection
            {
                var result : ArrayCollection = new ArrayCollection();
                for( var i : int = 0; i < 3; i++ )
                {
                    result.addItem( createSimpleRow());
                }
                result.addItem( createSubTotalRow( result ));
                return result;
            }
            
            private function createSimpleRow() : Object
            {
                var result : Object = new Object();
                result.A = randomInt( 10 );
                result.B = randomInt( 10 );
                result.C = randomInt( 10 );
                return result;
            }
            
            private function createSubTotalRow( data : ArrayCollection ) : Object
            {
                var result : Object = new Object();
                result.data = data;
                result.A = createSubTotalObject( data, “A” );
                result.B = createSubTotalObject( data, “B” );
                result.C = createSubTotalObject( data, “C” );
                return result;
            }
            
            private function createSubTotalObject( data : ArrayCollection, property : String ) : Object
            {
                var result : Object = new Object();
                result.toString = function() : String
                {
                    var sum : Number = 0;
                    var length : int = data.length – 1;
                    for( var i : int = 0; i < length; i++ )
                    {
                        var item : Object = data.getItemAt( i );
                        var value : Number = item[ property ];
                        if( ! isNaN( value ))
                        {
                            sum += value;
                        }
                    }
                    return sum.toString();
                }
                return result;
            }
            
            private function randomInt( max : int ) : int
            {
                return Math.floor( Math.random() * max );
            }
        ]]>
    </mx:Script>    
    <mx:DataGrid dataProvider=”{ dataProvider }” editable=”true”/>
</mx:Application>

댓글 남기기

dataGrid의 row 별 색상처리.

댓글 남기기