GridWidget

Object Hierarchy | 関連する C++クラス:GridWidget

導入

v4.2

詳細

GridWidget オブジェクトは、プロパティページの GridData オブジェクトに表示するユーザインターフェイスコントロールを表します。基本の GridData よりもそれを制御するステートの変化とステートに直接関連する情報を表示します。たとえば、このオブジェクトは、ユーザがクリックしたセルについての情報を表示します。

実際の GridData の内容とは異なり、選択した状態はプロパティページ(PPG)が閉じられ再度開かれたときに失われます。

注:プロパティページの GridData のレイアウトは、そのプロパティページの PPGItem を表す PPGLayout オブジェクトによって定義されます。たとえば、siUIGridSelectionMode 属性は、セルを個別に選択するか、行または列、またはまったく選択しないなどの制御を行います(siPPGItemAttribute を参照)。

メソッド

AddToSelection ClearSelection GetSelection IsCellSelected
IsColumnSelected IsRowSelected SortColumn  
       

JScript の例

/*

	This example demontrates a typical use of the 

	GridWidget object - as a way of allowing users to 

	delete rows or columns from a GridData object

*/

var oProp = ActiveSceneRoot.AddProperty( "CustomProperty", 

				false, "GridWidgetDemo" );			

var oParameter = oProp.AddGridParameter( "DemoGrid" ) ;

var oGridData = oParameter.Value ;

oGridData.ColumnCount = 3

oGridData.RowCount = 20

// Fill in some initial values

for ( i = 0 ; i < oGridData.RowCount ; i++ )

	for ( j = 0 ; j < oGridData.ColumnCount ; j++ )

		oGridData.SetCell( j, i, i + "." + j ) ;

var oPPGLayout = oProp.PPGLayout

var oGridPPGItem = oPPGLayout.AddItem( "DemoGrid" )

oGridPPGItem.SetAttribute( siUINoLabel, true );

oGridPPGItem.SetAttribute( siUIGridSelectionMode, siSelectionHeader );

oGridPPGItem.SetAttribute( siUIGridColumnWidths, "25:100:75:100" );

oGridPPGItem.SetAttribute( siUIGridReadOnlyColumns, "1" );

oPPGLayout.AddRow() ;

oPPGLayout.AddButton( "DeleteRow", "Delete Selected Row(s)" ) ;

oPPGLayout.AddButton( "DeleteColumn", "Delete Selected Column(s)" ) ;

oPPGLayout.EndRow() ;

oPPGLayout.Language = "JScript" ;

oPPGLayout.Logic = DeleteRow_OnClicked.toString() + 

	DeleteColumn_OnClicked.toString() ; 

InspectObj( oProp ) ;

function DeleteRow_OnClicked()

{

	var oGridData = PPG.DemoGrid.Value ;

	oGridData.BeginEdit() ;

	var oGridWidget = oGridData.GridWidget

	// shift the rows upwards to overwrite the selected rows

	var writePos = 0 ;

	for ( var readPos = 0  ; readPos < oGridData.RowCount ; readPos++ )

	{

		if ( !oGridWidget.IsRowSelected(readPos) )

		{

			if ( readPos != writePos )

			{

				oGridData.SetRowValues( 

							writePos, 

							oGridData.GetRowValues( readPos ) ) ;

			}

			writePos++ ;

		}

	}

	// Shrink the GridData

	oGridData.RowCount = writePos ;

	oGridData.EndEdit() ;	

}

function DeleteColumn_OnClicked()

{

	var oGridData = PPG.DemoGrid.Value ;

	oGridData.BeginEdit() ;

	var oGridWidget = oGridData.GridWidget

	// shift the rows upwards to overwrite the selected rows

	var writePos = 0 ;

	for ( var readPos = 0  ; readPos < oGridData.ColumnCount ; readPos++ )

	{

		if ( !oGridWidget.IsColumnSelected(readPos) )

		{

			if ( readPos != writePos )

			{

				oGridData.SetColumnValues( 

							writePos, 

							oGridData.GetColumnValues( readPos ) ) ;

			}

			writePos++ ;

		}

	}

	// Shrink the GridData

	oGridData.ColumnCount = writePos ;

	oGridData.EndEdit() ;	

}

関連項目

GridData GridData.GridWidget PPG siPPGItemAttribute