[LiveBinding の新規作成]
LiveBinding 関連のダイアログ ボックス への移動
[LiveBinding の新規作成]ダイアログ ボックスは、アプリケーションでバインディング リスト エディタ内から新しく LiveBinding を作成する際に表示されます。 [LiveBinding の新規作成]ダイアログ ボックスでは、新しい LiveBinding のバインディング クラスを選択するよう指示されます。
目次
バインディング クラス
[LiveBinding の新規作成]ダイアログ ボックスに表示される使用可能なバインディング クラスには、以下のものがあります。
- [クイック バインディング]
- TLinkGridToDataSource - グリッドをデータソースにリンクします。
- TLinkListControlToField - リストをデータソース内のフィールドにリンクします。 これを使用すると、データ ソースのフィールドの値をリストに追加し、リスト コントロールを使ってデータ ソース内を移動することができます。 データ ソースを編集すると、コントロールが自動的に更新されます。
- TLinkControlToField - コントロールをデータソース内のフィールドにリンクします。 ユーザー入力によってコントロールが変更されると、フィールドが更新されます。 フィールドが変化すると、コントロールが更新されます。
- TLinkControlToProperty - コントロールをプロパティにリンクします。 ユーザー入力によってコントロールが変更されると、コンポーネント プロパティが更新されます。
- TLinkPropertyToField - プロパティをデータソース内のフィールドにリンクします。 フィールドが編集されたりデータ ソースがスクロールされると、コンポーネント プロパティが更新されます。
- TLinkFillControlToField - TLinkControlToField と似ていますが、リスト コントロールに対して使用した場合には、別のデータ ソースの値をリストに含めることができます。
- TLinkFillControlToProperty - TLinkControlToProperty と似ていますが、リスト コントロールに対して使用した場合には、データ ソースの値をリストに含めることができます。
- [バインディング式]
- TBindExpression - 新しいバインディング式を作成します。
- TBindExprItems - さまざまなコントロールの同期に使用します。
- [リンク]
- TBindLink - コントロールとデータ ソース内のフィールドの間の双方向の編集をサポートします。コントロールの値が変化したときとフィールドの値が変化したときにバインディング式が実行されます。
- TBindListLink - リスト コントロールで、データ ソースの値を表示したり、データ ソース内を移動したり、データ ソースが編集されたときに最新状態を保つために使用します。
- TBindGridLink - グリッド コントロールで、データ ソースの値を表示したり、データ ソース内を移動したり、データ ソースが編集されたときに最新状態を保つために使用します。 グリッド内のセルが編集されたときにデータ ソースを更新するためにも使用します。
- TBindPosition - スクロール バーなどの位置を制御するコントロールでデータ ソースをスクロールするために使用します。
- TBindControlValue - コントロールの値が変更されたときにバインディング式を実行します。
- [リスト]
- TBindList - データ ソースの内容をリスト コントロールに追加するために使用します。
- TBindGridList - TBindList と同様ですが、グリッドが対象です。 データ ソースの内容をグリッド コントロールに追加するために使用します。
- [DB リンク (非推奨)]
- TBindDBEditLink - 編集ボックスをデータ ソース内の編集可能なテキスト フィールドにリンクするために使用します。
- TBindDBTextLink - ラベルをデータ ソース内のテキスト フィールドにリンクするために使用します。
- TBindDBListLink - リストをデータ ソース内のフィールドにリンクするために使用します。
- TBindDBImageLink - 画像コントロールをデータ ソース内のグラフィック フィールドにリンクするために使用します。
- TBindDBMemoLink - メモ コントロールをデータ ソース内の複数行テキスト フィールドにリンクするために使用します。
- TBindDBCheckLink - チェック ボックス コントロールをデータ ソース内の論理値フィールドにリンクするために使用します。
- TBindDBGridLink - グリッド コントロールをデータ ソースにリンクするために使用します。
選択した内容を有効にするには、[OK]ボタンをクリックします。
これによって、新しい LiveBinding がオブジェクト インスペクタとフォーム上のバインディング リストに表示されます。
クイック バインディング コンポーネント リファレンス
このセクションでは、クイック バインディング コンポーネントに関するいくつかの側面を説明します。つまり、このセクションはクイック リファレンス ガイドになっています。 クイック バインディング コンポーネントと、TBindLink や TBindList といったその他のバインディング コンポーネントとの違いは、クイック バインディング コンポーネントでは式が自動生成されるのに対し、他のコンポーネントでは手動で式を編集しなければならない点です。 そのため、クイック バインディング コンポーネントの式エディタで、生成された式を表示することはできますが、編集することはできません。
委譲
クイック バインディング コンポーネントはどれも、それぞれ別の LiveBinding コンポーネントに処理を委譲します。 委譲先の責務は、式を実行することと、ユーザー入力を監視することです。 クイック バインディング コンポーネントの責務は、正しい式の文字列を生成して委譲先コンポーネントに渡すことです。
委譲先は以下のとおりです。
- TLinkPropertyToField は、TCustomBindLink に処理を委譲します。
- TLinkListControlToField は、TCustomBindListLink に処理を委譲します。
- TLinkControlToProperty は、TCustomBindControlValue に処理を委譲します。
バインド スコープ コンポーネント
TBindSourceDB といったバインド スコープ コンポーネントは、フィールドに対してバインドするときに使用します。 たとえば、TLinkPropertyToField、TLinkListControlToField、TLinkControlToField はすべて、スコープ コンポーネントの参照を持っています。 また、フィールド名プロパティ(スコープ コンポーネントが提供するフィールド リストから選択されたもの)も持っています。
たとえば、次の画像で、TLinkPropertyToField コンポーネントは、BindScopeDB1 という TBindSourceDB と、Species Name というフィールドを参照しています。
TBindScope を、クイック バインディング コンポーネントと一緒に使用することはできませんが、次のコンポーネントは使用できます。
データソースは、TBaseLinkingBindSource から派生したものでなければなりません。
式の生成
クイック バインディング コンポーネントが正しい式を生成するには、バインド対象コンポーネントのメンバに関する情報を収集する必要があります。 たとえばコントロールにバインドする場合には、コントロールがユーザー入力によって変更されたときにコントロールのどのプロパティが変化するかを知っておく必要があります。 フィールドにバインドする場合には、フィールド プロパティの名前か、フィールドの値にアクセスするメソッドの名前を知っておく必要があります。
スコープ コンポーネントには、フィールドのメンバ名を取得するためのインターフェイスがあります。
式エディタ
式エディタを使用すると、式を表示することができますが、その式は読み取り専用です。 式を生成して表示するには、コンポーネントをアクティブにする必要があります。