0

タイプ テーブルとサブタイプ テーブルの値を検索するテーブルにリンクする 2 つのコンボ ボックスがあります。ユーザーが最初のものを選択すると、2番目のデータをフィルタリングする必要があります。

サンプルデータ:

テーブル
タイプサブタイプ
乗り物車
車両トラック
四輪車
ボートVハル
ボート平底

ライブ バインディングの前に、2 番目の before popup イベントまたは最初のコンボ ボックスの close または change イベントで、2 番目のデータ ルックアップ (サブタイプ) をフィルター処理および更新できます。ライブバインディングを使用してこれを試しても効果はありません。私もこの方法を使用しようとしましたがBindlist.Notify、成功しませんでした。

4

2 に答える 2

1

メイン テーブルとサブタイプ テーブルの間に主従関係を設定します。タイプが選択されると、メイン テーブルに値が設定され、サブタイプがフィルタリングされます。LinkFillControlToField の Active プロパティを切り替えて、リストを更新しました。

procedure TframeEquipmentEdit.cbbSubtypeClassEnter(Sender: TObject);
var i : integer;
begin
LinkFillControlToField10.Active := False;
LinkFillControlToField10.Active := True;
end;

コメントとヘルプをありがとう

ウェイド

于 2014-10-03T20:24:55.127 に答える
0

これは、私が今日取り組んでいるプロジェクトの一部です。「レター」の場合は「タイプ」、「テンプレート」の場合は「サブタイプ」と読みます

procedure TdlgNewTemplate.LetterTypesComboChange(Sender: TObject);
begin
  FTemplatesDs.Filter := Format('TYPE=%d',[LetterType()]);
  FTemplatesDs.Filtered := True;
  PopulateTemplatePaths();
end;

これは livebindings の例ではありません。Livebindings では、PopulateTemplatePaths の呼び出しは必要ないと思いますが、サブタイプのコンボボックスをクリアして再入力するだけです。(むしろ、ルフォ卿が上で提案した方法であると思います)。

于 2014-10-03T10:08:36.150 に答える