メソッド | プロパティ | エフェクト | イベント | スタイル | フレームあり | フレームなし

mx.controls
DataGrid クラス

継承を示す線継承を示す線継承を示す線継承を示す線継承を示す線継承を示す線


DataGrid クラス
mx.controls.List の拡張

DataGrid コントロールは複数のデータ列を表示できるリストです。

DataGrid コントロールは次の機能を提供します。

DataGrid は、HTML テーブルのようなレイアウトツールではなく、データの表示を目的としています。こうしたレイアウトツールは、mx.containers パッケージが提供します。

MXML シンタックス

<mx:DataGrid> タグは、親クラスのすべてのプロパティと、次のプロパティを継承します。

 <mx:DataGrid
cellEditor="No default."
cellRenderer="No default."
columns="No default."
columnName="No default."
dataProvider="No default."
editable="false|true"
focusedCell="No default."
headerColors="[0xE6EEEE, 0xFFFFFF]"
headerHeight="20"
headerStyle="No default."
hGridLineColor="#666666"
hGridLines="false|true"
resizableColumns="true|false"
rollOverColor="#0xE3FFD6"
selectable="true|false"
selectionColor="#0xCDFFC1"
showHeaders="true|false"
sortableColumns="true|false"
vGridLineColor="#666666"
vGridLines="false|true"
cellEdit="Event handler; no default."
cellFocusIn="Event handler; no default."
cellFocusOut="Event handler; no default."
cellPress="Event handler; no default."
columnStretch="Event handler; no default."
headerRelease="Event handler; no default."
>
次に示すのは、列の順序を指定する DataGrid サンプルコードです。
<mx:DataGrid>
<mx:dataProvider>
<mx:Array>
<mx:Object Artist="Pavement" Price="11.99"
Album="Slanted and Enchanted" />
<mx:Object Artist="Pavement"
Album="Brighten the Corners" Price="11.99" />
</mx:Array>
</mx:dataProvider>
<mx:columns>
<mx:Array>
<mx:DataGridColumn columnName="Album" />
<mx:DataGridColumn columnName="Price" />
</mx:Array>
</mx:columns>
</mx:DataGrid>

を参照するにはここをクリックしてください

関連項目
    gridclasses.DataGridColumn
    gridclasses.DataGridRow
    mx.effects.Tween
    mx.managers.CursorManager



メソッド
       addColumn( newCol) :  mx.controls.gridclasses.DataGridColumn
DataGrid の末尾に列を追加します。
       addColumnAt( index:Number, newCol) :  mx.controls.gridclasses.DataGridColumn
指定のインデックス位置に列を追加します。
       draw( )
ヘッダを作成し、行とセルを描いた後、列ヘッダのサイズを調整して描きます。
       editField( index:Number, colName:String, data) :  Void
列内のセルの値を新しいデータに更新します。
       getColumnAt( index:Number) :  mx.controls.gridclasses.DataGridColumn
指定の位置にある列を返します。
       getColumnIndex( name:String) :  Number
指定の列のインデックスをその列名に基づいて取得します。
       getRowMetrics( ) :  Object
getViewMetrics() メソッドと同じですが、headerHeight が考慮されます。
       layoutChildren( ) :  Void
列ヘッダ、列、およびセルのサイズと位置を、DataGrid のサイズに基づいて変更します。
       measure( )
DataGrid をその内容に基づいて測定し、表示されている列幅の合計を求めます。
       placeSortArrow( ) :  Void
sortArrow グラフィックを、現在の sortIndex となっている列に描画します。
       removeAllColumns( ) :  Void
すべての列を削除します。
       removeColumnAt( index:Number) :  mx.controls.gridclasses.DataGridColumn
指定の位置にある列を削除します。

mx.controls.listclasses.ScrollSelectList クラスから継承されるメソッド
addItem   addItemAt   calculateWidths   clearSelected   createChildren   draw   fillRowsFromBottom   fillRowsFromTop   getDropLocation   getItemAt   hideDropFeedback   isSelected   layoutChildren   measure   removeAll   removeItemAt   replaceItemAt   setPropertiesAt   showDropFeedback   sortItems   sortItemsBy  

mx.core.ScrollView クラスから継承されるメソッド
childLoaded   createChildren   createChildWithStyles   getViewMetrics   init   layoutChildren   setScrollProperties  

mx.core.View クラスから継承されるメソッド
childLoaded   constructObject2   createChild   createChildren   destroyAllChildren   destroyChild   destroyChildAt   draw   getBorderMetrics   getChildAt   getChildIndex   getViewMetrics   init   layoutChildren   layoutChrome   setChildIndex  

mx.core.UIComponent クラスから継承されるメソッド
drawFocus   getFocus   getFocusManager   setEnabled   setFocus  

mx.core.UIObject クラスから継承されるメソッド
addEventListener   applyProperties   buildDepthTable   commitProperties   constructObject2   createAccessibilityImplementation   createChildAtDepth   createChildren   createClassChildAtDepth   createClassObject   createEmptyObject   destroyObject   dispatchEvent   doLater   draw   drawRect   executeBindings   fillRect   findNextAvailableDepth   getRepeaterItem   getStyle   handleEvent   init   invalidate   invalidateLayout   invalidateProperties   invalidateSize   invalidateStyle   layoutChildren   measure   move   redraw   removeEventListener   setDepthAbove   setDepthBelow   setMask   setSize   setSizeNoLayout   setStyle   swapDepths  



プロパティ
       cellEditor:MovieClip
セルエディタへの参照 (存在する場合) です。
       columnCount:Number   [読み取り専用]
表示できる列の数です。
       columnNames:Array
列ヘッダの生成に使用するストリングの配列です。
       columns:Array
表示されている各列に対応した DataGridColumn の配列です。
       editable:Boolean
true の場合、コントロール内のセルは編集可能になり (列が編集可能とマークされている必要があります)、ユーザーはセルをクリックしてエディタをポップアップ表示できます。
       focusedCell:Object
指定のセルに cellEditor を作成します。
       header_mc:MovieClip
列ヘッダはすべてこの MovieClip の子です。
       headerHeight:Number
ヘッダバーの高さ幅 (ピクセル単位) です。
       lines_mc:MovieClip
列と列の間にグリッド線を描画するレイヤーです。
       minColWidth:Number
サイズ変更可能な列はこのピクセル数よりも小さく縮小することはありません。
       resizableColumns:Boolean
true の場合、ユーザーはヘッダとヘッダの間のグリッド線をドラッグすることで DataGrid コントロールの列を拡大できます。
       selectable:Boolean
true の場合、ユーザーは DataGrid のアイテムを選択できます。
       showHeaders:Boolean
true の場合、DataGrid コントロールに列ヘッダが表示されます。
       sortableColumns:Boolean
true の場合、ユーザーはヘッダをクリックすることで DataGrid コントロールの列を並べ替えることができます。
       sortArrow:MovieClip
並べ替え可能な列とその順序の表示に使用する、小さな矢印のグラフィックを指定します。
       stretchBar:MovieClip
ユーザーが列を拡大するときに提示される列幅を表示するグラフィックを指定します。
       stretcher:MovieClip
列を伸縮できることを示すのに使用するカーソルを指定します。
staticversion:String
このクラスのバージョンを表すストリングです。

mx.controls.List クラスから継承されるプロパティ
version  

mx.controls.listclasses.ScrollSelectList クラスから継承されるプロパティ
cellRenderer   dataProvider   dataTipField   dataTipFunction   dragEnabled   dropIndicatorSkin   iconField   iconFunction   labelField   labelFunction   multipleSelection   rowCount   rowHeight   rowRenderer   selectable   selectedIndex   selectedIndices   selectedItem   selectedItems   showDataTips   value   variableRowHeight   verticalAlign   wordWrap  

mx.core.ScrollView クラスから継承されるプロパティ
className   hPosition   hScrollPolicy   liveScrolling   maxHPosition   maxVPosition   scrollTipFunction   showScrollTips   version   vPosition   vScrollPolicy  

mx.core.View クラスから継承されるプロパティ
baselinePosition   className   numChildren   version  

mx.core.UIComponent クラスから継承されるプロパティ
enabled   errorString   tabEnabled   tabIndex   version  

mx.core.UIObject クラスから継承されるプロパティ
alpha   baselinePosition   className   depth   documentDescriptor   height   heightFlex   id   instanceIndices   isDocument   kStretch   layoutHeight   layoutWidth   maxHeight   maxWidth   minHeight   minWidth   mouseX   mouseY   nestLevel   oldHeight   oldWidth   oldX   oldY   parent   parentApplication   parentDocument   percentHeight   percentWidth   preferredHeight   preferredWidth   repeaterIndices   scaleX   scaleY   styleName   tabEnabled   toolTip   version   visible   width   widthFlex   x   y  



エフェクト

mx.core.UIComponent クラスから継承されるエフェクト
focusInEffect   focusOutEffect  

mx.core.UIObject クラスから継承されるエフェクト
creationCompleteEffect   hideEffect   mouseDownEffect   mouseOutEffect   mouseOverEffect   mouseUpEffect   moveEffect   resizeEffect   showEffect  



イベント
cellEditセルの値がセルエディタによって変更されたときにブロードキャストされます。セルまたは列が編集可能の場合にのみブロードキャストします。このイベントオブジェクトには、次のプロパティが含まれます。
- itemIndex 選択されたアイテムのインデックスです。
- columnIndex 選択された列のインデックスです。
- oldValueセルの以前の値です。
- target イベントをトリガしたコンポーネントへの参照です。
- type イベントの名前です。
cellFocusInセルがフォーカスを取得したときにブロードキャストされます。セルは、ユーザーがセルをクリックした場合か、キーボードを通じてセルに移動した場合に、フォーカスを取得する可能性があります。このイベントオブジェクトには、次のプロパティが含まれます。
- itemIndex 選択されたアイテムのインデックスです。
- columnIndex 選択された列のインデックスです。
- target イベントをトリガしたコンポーネントへの参照です。
- type イベントの名前です。
cellFocusOutセルがフォーカスを失ったときにブロードキャストされます。セルは、ユーザーが別のセルまたはグリッドの外側をクリックした場合か、キーボードを通じて別のセルまたはグリッドの外側に移動した場合に、フォーカスを失う可能性があります。このイベントオブジェクトには、次のプロパティが含まれます。
- itemIndex 選択されたアイテムのインデックスです。
- columnIndex 選択された列のインデックスです。
- target イベントをトリガしたコンポーネントへの参照です。
- type イベントの名前です。
cellPressユーザーが編集するセルを示すためにセルをクリックしたとき、ブロードキャストされます。このイベントオブジェクトには、次のプロパティが含まれます。
- itemIndex 選択されたアイテムのインデックスです。
- columnIndex 選択された列のインデックスです。
- view 現在選択されているオブジェクトです。
- target イベントをトリガしたコンポーネントへの参照です。
- type イベントの名前です。
columnStretchユーザーが列を水平方向に拡大したときにブロードキャストされ、その列に表示されるデータ量が変化したことを示します。hScrollPolicynone の場合は、サイズ変更される列に合わせて他の列が縮小または拡大します。また、サイズ変更された列からもこのイベントがブロードキャストされます。このイベントオブジェクトには、次のプロパティが含まれます。
- columnIndex 選択された列のインデックスです。
- target イベントをトリガしたコンポーネントへの参照です。
- type イベントの名前です。
headerRelease列ヘッダが押されて離されたときにブロードキャストされ、並べ替え操作が発生する直前であることを示します。列が並べ替え可能な場合にのみブロードキャストされます。このイベントオブジェクトには、次のプロパティが含まれます。
- view 現在選択されているオブジェクトです。
- columnIndex 選択された列のインデックスです。
- target イベントをトリガしたコンポーネントへの参照です。
- type イベントの名前です。

mx.controls.listclasses.ScrollSelectList クラスから継承されるイベント
change  itemRollOut  itemRollOver 

mx.core.ScrollView クラスから継承されるイベント
scroll 

mx.core.View クラスから継承されるイベント
childCreated  childDestroyed  childIndexChanged 

mx.core.UIComponent クラスから継承されるイベント
focusIn  focusOut  invalid  keyDown  keyUp  valid  valueCommitted 

mx.core.UIObject クラスから継承されるイベント
creationComplete  dragComplete  dragDrop  dragEnter  dragExit  dragOver  draw  effectEnd  effectStart  hide  hideToolTip  initialize  load  mouseChangeSomewhere  mouseDown  mouseDownSomewhere  mouseMove  mouseMoveSomewhere  mouseOut  mouseOver  mouseUp  mouseUpSomewhere  move  resize  show  showToolTip  unload 



スタイル
backgroundDisabledColor 型 : Number   形式 : Color   CSS の継承 : あり
無効になっているグリッドの背景色です。デフォルト値は 0xEFEEEF です。
hGridLineColor 型 : Number   形式 : Color   CSS の継承 : あり
横のグリッド線の色です。デフォルト値は 0x666666 です。
hGridLines 型 : Boolean   CSS の継承 : なし
true の場合、横のグリッド線を表示します。false の場合、横のグリッド線を非表示にします。デフォルト値は false です。
headerColor 型 : Number   形式 : Color   CSS の継承 : あり
列ヘッダの色です。Deprecated - headerColors を代わりに使用します。
headerColors 型 : Array   CSS の継承 : あり
ヘッダの描画に使用される 2 色の配列です。1 つ目のカラーは上のカラーです。2 つ目の色は下の色です。デフォルト値は (0xE6EEEE, 0xFFFFFF) です。
headerStyle 型 : String   CSS の継承 : なし
グリッドまたは列に適用する列ヘッダの CSS スタイル宣言です。
rollOverColor 型 : Number   形式 : Color   CSS の継承 : あり
マウスポインタが置かれているときのリンクの背景色です。デフォルト値は 0xE3FFD6 です。
selectionColor 型 : Number   形式 : Color   CSS の継承 : あり
選択されているときのリンクの背景色です。デフォルト値は 0xCDFFC1 です。
vGridLineColor 型 : Number   形式 : Color   CSS の継承 : あり
縦のグリッド線の色です。デフォルト値は 0x666666 です。
vGridLines 型 : Boolean   CSS の継承 : なし
true の場合、縦のグリッド線を表示します。false の場合、縦のグリッド線を非表示にします。デフォルトは false です。

mx.controls.List クラスから継承されるスタイル
alternatingRowColors   marginBottom   marginTop   rollOverColor   selectionColor   selectionDisabledColor   selectionDuration   selectionEasing   textRollOverColor   textSelectedColor   useRollOver  

mx.core.UIComponent クラスから継承されるスタイル
backgroundAlpha   backgroundColor   backgroundDisabledColor   backgroundImage   backgroundSize   barColor   borderCapColor   borderColor   borderSides   borderStyle   borderThickness   cornerRadius   disabledColor   dropShadow   errorColor   fillColors   highlightColor   modalTransparency   scrollTrackColor   selectedFillColors   shadowCapColor   shadowColor   shadowDirection   shadowDistance   symbolBackgroundColor   symbolBackgroundDisabledColor   symbolBackgroundPressedColor   symbolColor   symbolDisabledColor   themeColor  

mx.core.UIObject クラスから継承されるスタイル
color   fontFamily   fontSize   fontStyle   fontWeight   horizontalGap   leading   marginLeft   marginRight   textAlign   textDecoration   textIndent   verticalGap  



メソッドの詳細

addColumn

addColumn( newCol) :  mx.controls.gridclasses.DataGridColumn

DataGrid の末尾に列を追加します。

パラメータ
    newCol - 新規列または DataGridColumn のストリング名です。

戻り値
     新規列です。


addColumnAt

addColumnAt( index:Number, newCol) :  mx.controls.gridclasses.DataGridColumn

指定のインデックス位置に列を追加します。インデックスが 0 の場合は、新規列が左端の列になります。

パラメータ
    index:Number - 新規列のインデックスです。
    newCol - 新規列または DataGridColumn のストリング名です。

戻り値
     新規列です。


draw

draw( )

ヘッダを作成し、行とセルを描いた後、列ヘッダのサイズを調整して描きます。


editField

editField( index:Number, colName:String, data) :  Void

列内のセルの値を新しいデータに更新します。

パラメータ
    index:Number - 編集するアイテムのインデックスです。
    colName:String - 編集するフィールドの名前です。
    data - 編集フィールドに置かれる新しいデータです。


getColumnAt

getColumnAt( index:Number) :  mx.controls.gridclasses.DataGridColumn

指定の位置にある列を返します。インデックスが 0 の場合は、左端の列を返します。

パラメータ
    index:Number - 取得する列のインデックスです。

戻り値
     指定のインデックスにある列です。


getColumnIndex

getColumnIndex( name:String) :  Number

指定の列のインデックスをその列名に基づいて取得します。インデックスが 0 の場合は、左端の列を示します。

パラメータ
    name:String - インデックスを取得する列の名前です。

戻り値
     列のインデックスです。


getRowMetrics

getRowMetrics( ) :  Object

getViewMetrics() メソッドと同じですが、headerHeight が考慮されます。

戻り値
     left、top、right、bottom の各プロパティを含むオブジェクトです。


layoutChildren

layoutChildren( ) :  Void

列ヘッダ、列、およびセルのサイズと位置を、DataGrid のサイズに基づいて変更します。


measure

measure( )

DataGrid をその内容に基づいて測定し、表示されている列幅の合計を求めます。


placeSortArrow

placeSortArrow( ) :  Void

sortArrow グラフィックを、現在の sortIndex となっている列に描画します。


removeAllColumns

removeAllColumns( ) :  Void

すべての列を削除します。


removeColumnAt

removeColumnAt( index:Number) :  mx.controls.gridclasses.DataGridColumn

指定の位置にある列を削除します。インデックスが 0 の場合は、左端の列を削除します。

パラメータ
    index:Number - 削除する列のインデックスです。

戻り値
     削除された列です。



プロパティの詳細

cellEditor

cellEditor:MovieClip  

セルエディタへの参照 (存在する場合) です。


columnCount

columnCount:Number   [読み取り専用]

表示できる列の数です。hScrollPolicy、および DataGrid の幅によっては、列の一部が画面外に置かれる場合があります。


columnNames

columnNames:Array  

列ヘッダの生成に使用するストリングの配列です。既存の列はすべて破棄されます。


columns

columns:Array  

表示されている各列に対応した DataGridColumn の配列です。


editable

editable:Boolean  

true の場合、コントロール内のセルは編集可能になり (列が編集可能とマークされている必要があります)、ユーザーはセルをクリックしてエディタをポップアップ表示できます。デフォルト値は false です。


focusedCell

focusedCell:Object  

指定のセルに cellEditor を作成します。必要ならば、セルが表示されるまでスクロールされます。


header_mc

header_mc:MovieClip  

列ヘッダはすべてこの MovieClip の子です。


headerHeight

headerHeight:Number  

ヘッダバーの高さ幅 (ピクセル単位) です。デフォルトの高さは 20 です。


lines_mc

lines_mc:MovieClip  

列と列の間にグリッド線を描画するレイヤーです。


minColWidth

minColWidth:Number  

サイズ変更可能な列はこのピクセル数よりも小さく縮小することはありません。0 に設定することは避けてください。列がまったく表示されなくなります。


resizableColumns

resizableColumns:Boolean  

true の場合、ユーザーはヘッダとヘッダの間のグリッド線をドラッグすることで DataGrid コントロールの列を拡大できます。個々の列をサイズ変更可能にする場合は、このプロパティの値を true にする必要があります。また、個々の列の resizeable プロパティも true に設定する必要があります。デフォルト値は true です。


selectable

selectable:Boolean  

true の場合、ユーザーは DataGrid のアイテムを選択できます。デフォルト値は true です。


showHeaders

showHeaders:Boolean  

true の場合、DataGrid コントロールに列ヘッダが表示されます。デフォルト値は true です。


sortableColumns

sortableColumns:Boolean  

true の場合、ユーザーはヘッダをクリックすることで DataGrid コントロールの列を並べ替えることができます。個々の列を並べ替え可能にする場合は、このプロパティを true に設定する必要があります。また、列を sortable とマークする必要もあります。headerPress イベントを受け取るためにはこのプロパティを true にする必要があります。デフォルト値は true です。


sortArrow

sortArrow:MovieClip  

並べ替え可能な列とその順序の表示に使用する、小さな矢印のグラフィックを指定します。


stretchBar

stretchBar:MovieClip  

ユーザーが列を拡大するときに提示される列幅を表示するグラフィックを指定します。


stretcher

stretcher:MovieClip  

列を伸縮できることを示すのに使用するカーソルを指定します。


version

static  version:String  

このクラスのバージョンを表すストリングです。


SimpleDataGrid.mxml
<?xml version="1.0"?>
<!-- DataGrid コントロールの使用方法を示す簡単な例 1 -->
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF">

<mx:Panel title="DataGrid Panel" marginTop="10" height="100%" width="100%">

<mx:DataGrid editable="true" height="100%" width="100%">

<mx:dataProvider>
<mx:Array>

<mx:Object>
<Artist>Pavement</Artist>
<Price>9.99</Price>
<Album>Slanted and Enchanted</Album>
</mx:Object>

<mx:Object>
<Artist>Pavement</Artist>
<Price>9.99</Price>
<Album>Brighten The Corners</Album>
</mx:Object>

</mx:Array>
</mx:dataProvider>

</mx:DataGrid>

</mx:Panel>

</mx:Application>
        




DataGridExample.mxml
<?xml version="1.0"?>
<!-- DataGrid コントロールの使用方法を示す簡単な例 2 -->
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" backgroundColor="#FFFFFF">

<mx:Script>
<![CDATA[
         
function cellPressEvt(event)
	  {
	       clean();
	       focusCol.text=focusCol.text +  '\n' + event.columnIndex;
	       focusItem.text=focusItem.text + '\n' + event.itemIndex;
	       focusType.text=focusType.text + '\n' + event.type;
	  }
	  
	  function clean()
	  {
	       focusCol.text="ColumnIndex";
	       focusItem.text="ItemIndex";
	       focusType.text="EventType";
	  }
	    
	    ]]>
</mx:Script>

<mx:Panel title="DataGrid Panel" marginTop="10">

<mx:VBox>

<mx:DataGrid id="myGrid" width="350" height="100" cellPress="cellPressEvt(event);">

<mx:dataProvider>
<mx:Array id="arr">
<mx:Object Artist=" Kapil" Album="All Time Favourites" Price="10"/>
<mx:Object Artist=" Kapil" Album="Classic Songs" Price="10"/>
</mx:Array>
</mx:dataProvider>

</mx:DataGrid>

</mx:VBox>

<mx:HBox>

<mx:TextArea id="focusCol" text="ColumnIndex"/>
<mx:TextArea id="focusItem" text="ItemIndex"/>
<mx:TextArea id="focusType" text="EventType"/>

</mx:HBox>

</mx:Panel>

</mx:Application>