Table
説明
テーブル構造を表すクラスです。
Tableには、FlexSimのテーブルデータの操作に関連付けられたメソッドとプロパティが格納されています。Tableは次のいずれか1つとして設定できます。
- ツリーテーブル:このテーブルのデータは、ツリー構造で定義されています。このテーブルは1つ以上のサブノードを含むルートノードで構成されており、それぞれがテーブルの行を表します。各行のサブノードはテーブルのセルを表します。
- バンドルテーブル:このテーブルのデータは、バンドルノードによって定義されています。このテーブルは、バンドルデータを格納するツリーのノードで構成されています。
- クエリ結果テーブル:これは読み取り専用のメモリ内テーブルであり、Table.query()呼び出しの結果を格納します。
- 配列テーブル:2次元配列を参照するメモリ内テーブルです。
バンドルテーブルおよびツリーテーブルは、モデルツリーの任意の場所に保存できます。一般にグローバルテーブルに保存されますが、オブジェクトラベル上に保存することもあります。
プロパティ
numCols | テーブル内の列数。 |
numRows | テーブル内の行数。 |
メソッド
addCol | テーブルに列を追加します。 |
addIndex | 指定された列にインデックスを追加します。 |
addRow | テーブルに行を追加します。 |
cell | 特定のテーブルセルを返します。 |
clear | すべてのセルに空の値を設定します。 |
clone | テーブルの配列コピーを作成します。 |
cloneTo | このテーブルのすべての値をターゲットテーブルにコピーし、ターゲットテーブルを返します。 |
deleteCol | テーブル列を削除します。 |
deleteRow | テーブル行を削除します。 |
executeCell | セル上のテキストをFlexScriptとして実行します。 |
getColHeader | テーブル列ヘッダーを取得します。 |
getColNum | テーブル列ヘッダーのインデックスを取得します。 |
getRowByKey | 指定されたキー値を列から検索します。 |
getRowHeader | テーブル行ヘッダーを取得します。 |
getRowNum | テーブル行ヘッダーのインデックスを取得します。 |
getValueByKey | 指定されたキー値を列から検索して、一致した行から1つ以上の値を返します。 |
hasIndex | 指定された列にインデックスが存在する場合はインデックスタイプを返し、それ以外の場合は0を返します。 |
moveCol | 列を新しいインデックスに移動します。 |
moveRow | 行を新しいインデックスに移動します。 |
removeIndex | 指定された列からインデックスを削除します。 |
setColHeader | 列ヘッダーの名前を変更します。 |
setRowHeader | 行ヘッダーの名前を変更します。 |
setSize | テーブルのサイズを変更します。 |
sort | テーブル列を並べ替えます。 |
swapCols | 2つの列のインデックスを交換します。 |
swapRows | 2つの行のインデックスを交換します。 |
コンストラクター
Table | テーブルへの参照を作成します。 |
静的メソッド
query | SQLクエリを実行し、結果をテーブルとして返します。 |
演算子
[] | テーブルセルの値を取得もしくは設定します。 |
= | ツリーノードへの参照をTableオブジェクトに代入します。 |
詳細
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Table.addIndex()
addIndex( Variant keyCol , int indexType = Table.IndexType.Unordered ) |
パラメータ
keyCol | 列名または番号 |
indexType | 目的となるインデックスのタイプ。Table.IndexType.UnorderedまたはTable.IndexType.Orderedのどちらかになります。一般的には、デフォルトの順序付けのない値で十分です。Table.IndexType.Orderedは、WHEREフィルタ(列で>、<、>=、もしくは<=を使用して比較を行う)を含むTable.query()を使用してテーブルを照会する際に役立ちます。 |
説明
指定された列にインデックスを追加します。
次の操作のパフォーマンスは、インデックスによって大幅に改善する場合があります。- インデックス付きの列でTable.getRowByKey()メソッドを使用する
- インデックス付きの列でTable.getValueByKey()メソッドを使用する
- クエリでインデックス付きの列から値を検索する(例:
WHERE IndexedCol = SomeValue
)
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Table.getRowByKey()
int getRowByKey( Variant key , Variant keyCol = nullvar ) |
パラメータ
key | キーとして使用する値。 |
keyCol | キー値を検索する列。 |
戻り値
int | 指定された列でキー値が格納されている行の番号。一致が検出されない場合、0を返します。 |
説明
指定されたキー値を列から検索します。
keyCol
が指定されていない場合、テーブル内で最初にインデックス付けされた列を検索します。インデックス付き列がない場合、最初の列(列1)を検索します。 検索する列がインデックス付きの場合、行から行に検索するのではなく、インデックスを使用して正しい行を調べます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Table.getValueByKey()
Variant getValueByKey( Variant key , Variant valueCol , Variant keyCol = nullvar ) |
パラメータ
key | キーとして使用する値。 |
valueCol | データの取得先となる列(名または番号) |
keyCol | キー値を検索する列。 |
戻り値
Variant | 一致する行にあるvalueCol の値。 |
説明
指定されたキー値を列から検索して、一致した行から1つ以上の値を返します。
keyCol
が指定されていない場合、テーブル内で最初にインデックス付けされた列を検索します。インデックス付き列がない場合、最初の列(列1)を検索します。 検索する列がインデックス付きの場合、行から行に検索するのではなく、インデックスを使用して正しい行を調べます。
一致する行が検出されると、その行にある
valueCol
の値を取得します。valueCol
が配列の場合、指定された各列の値が取得されて、配列として返されます。削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Tableコンストラクター
Table( string name ) |
Table( treenode node ) |
Table( Array array ) |
Table( Variant value ) |
パラメータ
name | グローバルテーブルの名前。 |
node | テーブルに類似したツリーノード。ノードは、バンドルデータか、テーブル構造のサブノードを持つ必要があります。 |
value | グローバルテーブル名またはテーブルに類似したツリーノード。 |
array | 2次元配列。第1の次元は行を、第2の次元は列を示します。たとえば、Storage.System. querySlots()呼び出しの結果を取得し、結果に基づいてテーブルを作成できます。 |
説明
テーブルへの参照を作成します。
文字列を渡すと、FlexSimはグローバルに定義されたテーブルを以下の順序で検索します。
Table parts = Table("Parts");
int partCount = Table("Parts")[3][4];
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Table.query()
static Table query( string queryStr , lambda p1 ... p9 = 0 ) |
パラメータ
queryStr | SQLクエリ。 |
p1-p9 | クエリに$構文を含める場合にのみ使用します。これは、クエリと関連付けられて動的評価される追加パラメータを定義したものです。値は「ラムダ」タイプです。このタイプでは、パラメータがメソッド呼び出しと同時に評価されるのではなく、必要に応じて評価されます。通常ここでは、テーブルノードの参照を渡して、クエリを実行すべきテーブルを定義するか、もしくはFlexScript式で$iter()コマンドを使用して「仮想テーブル」のセル値を動的に判断します。このパラメータでテーブルを定義する場合、そのテーブルはツリー制限テーブルか、もしくはノードの直接参照である必要があります。言い換えると、Table.cloneTo()を使用してツリー制限テーブルに対する結果のクローンを作成しない限り、Table.query()に対する別の呼び出しに関する結果テーブルにはなりません。詳細については、SQLクエリの例を参照してください。 |
戻り値
Table | 結果として得られるテーブル。これは読み取り専用のメモリ内テーブルです(ツリー内のノードには格納されません)。Table.cloneTo()を使用して結果をツリー制限テーブルにコピーします。 |
説明
SQLクエリを実行し、結果をテーブルとして返します。
Table result = Table.query("SELECT * FROM Customers ORDER BY Name");
詳細については、SQLクエリの例を参照してください。
削除を行わないでください。doc.flexsim.comのアンカーが修正されます。
Table.operator []
Variant operator []( Variant index ) |
パラメータ
index | 行または列のインデックスもしくは名前。 |
戻り値
Variant | テーブルセルに保持されるバリアント。セルがFlexScriptノードの場合、コードの実行結果を返します。 |
説明
テーブルセルの値を取得もしくは設定します。
Variant value = table[2]["Orders"];
table[2]["Orders"] = 5;
存在しない行または列の名前が指定された場合、例外がスローされます。特定の名前の行または列が存在するかどうかをチェックするには、Table.getColNum()またはTable.getRowNum()を使用します。