コレクション


Collectionクラスは、同じ型の複数のオブジェクトを保持するテンプレートを提供します。 Origin Cでは、Collectionのインスタンスは読み取り専用です。 コレクションに項目を追加したり、削除することはできません。

コレクションのインスタンスであるデータメンバを含むOrigin Cクラスは数多くあります。 例えば、ProjectクラスはWorksheetPagesという名前のデータメンバを含みます。 WorksheetPagesデータメンバは、プロジェクト内の既存のWorksheetPageオブジェクトすべてのコレクションです。

下表は、コレクションとコレクション内の項目タイプを含むクラスに沿ってOrigin Cのコレクションのすべてを一覧表示しています。

クラス データメンバー コレクション
Folder Pages PageBase
Folder SubFolders Folder
GraphLayer DataPlots DataPlot
GraphLayer StyleHolders StyleHolder
GraphPage Layers GraphLayer
Layer GraphObjects GraphObject
MatrixLayer MatrixObjects MatrixObject
Page Layers Layer
Project DatasetNames string (loose and displayed datasets)
Project GraphPages GraphPage
Project LayoutPages LayoutPage
Project LooseDatasetNames string (loose datasets)
Project MatrixPages MatrixPage
Project Notes Note
Project Pages PageBase
Project WorksheetPages WorksheetPage
Selection Objects OriginObject
TreeNode Children TreeNode
Worksheet Columns Column
Worksheet EmbeddedPages Page

サンプル

現在のプロジェクト内のすべてのグラフページを一覧表示

foreach(GraphPage gp in Project.GraphPages)
{
	out_str(gp.GetName());
}

現在のプロジェクト内のすべてのワークシートページを一覧表示

foreach(WorksheetPage wksPage in Project.WorksheetPages)
{
	out_str(wksPage.GetName());
}

現在のプロジェクト内のすべての行列ページを一覧表示

foreach(MatrixPage matPage in Project.MatrixPages)
{
	out_str(matPage.GetName());
}

すべてのデータプロットを一覧表示

GraphLayer gl = Project.ActiveLayer();
foreach(DataPlot dp in gl.DataPlots)
{
	string strRange;
	dp.GetRangeString(strRange, NTYPE_BOOKSHEET_XY_RANGE);
	
	printf("%d, %s", dp.GetIndex()+1, strRange);
}