表示: Delphi
C++
表示設定
複数のデータセットに単一のナビゲータを使用する
提供:RAD Studio XE2
ラジオコントロールを使った項目値の制限:インデックス への移動
ほかのデータベース対応コントロールの場合と同様に,ナビゲータの DataSource プロパティは,そのコントロールをデータセットにリンクするデータソースを指定します。実行時にナビゲータの DataSource プロパティを変更すると,単一のナビゲータを使用して,複数のデータセットでレコード間の移動とレコードの操作ができます。
フォームに 2 つの編集コントロールがあり,CustomersSource と OrdersSource の各データソースによってそれぞれ CustomersTable と OrdersTable のデータセットにリンクされているとします。CustomersSource に接続されている編集コントロールにユーザーが移動すると,ナビゲータも CustomersSource を使用しなければなりません。OrdersSource に接続されている編集コントロールにユーザーが移動すると,ナビゲータも OrdersSource に切り替えなければなりません。編集コントロールの一方に対して Vcl.Controls.TWinControl.OnEnter イベントハンドラを記述して,もう一方の編集コントロールとそのイベントを共有できます。次に例を示します。
procedure TForm1.CustomerCompanyEnter(Sender :TObject);
begin
if Sender = CustomerCompany then
DBNavigatorAll.DataSource := CustomerCompany.DataSource
else
DBNavigatorAll.DataSource := OrderNum.DataSource;
end;
void __fastcall TForm1::CustomerCompanyEnter(TObject *Sender)
{
if (Sender == (TObject *)CustomerCompany)
DBNavigatorAll->DataSource = CustomerCompany->DataSource;
else
DBNavigatorAll->DataSource = OrderNum->DataSource;
}