DBCtrlGridのPageUP・downをコードで・・

解決


Kikumi  2003-02-05 01:14:03  No: 2799

いつもお騒がせしています・・

DBCtrlGrid上にDBEditを配置して、
常時DBEditにフォーカスがあります。
[Page UP Down]キー操作をしたいのですが
PageUp,Downのメソッドは何ですか?

又、パラメーターを使用したSQL文に
Form1のDBCtrlGrid上のDBEditの値
をセットしたいのですが・・
(カレントレコード)

宜しくお願いします。


motti  2003-02-05 06:34:41  No: 2800

こんな感じですか?

procedure TForm1.DBCtrlGridKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//カレントレコードが確定していないのであれば
//DBEDIT.Textだと思います。が
   Query.Clear;
   Query.add('select *');
   Query.add('  from テーブル名');
   Query.add(' where フィールド名 = '
   + DataSource.DataSet.FieldByName('フィールド名').asString);
   Query.Open;
   //
   if  Key = VK_UP then
     begin
       ShowMessage('DBCtrlGridでUP押されたけどDownします。');
       Key := 0;
       DBCtrlGrid.DoKey(gkDown);
     end;
   if  Key = VK_DOWN   then
     begin
       ShowMessage('DBCtrlGridでDown押されたけどUPします。');
       Key := 0;
       DBCtrlGrid.DoKey(gkUP);
     end;
end;


Kikumi  2003-02-05 18:42:27  No: 2801

mottiさんレスありがとうございます。

コントロールグリッドのPageUP,Down
操作(DoKeyメソッド)はよく理解しました。

SQLですが・・
   With Query1 Do
   Begin
     //----中略----//
     SQL.Clear;
     SQL.Text := 'Select *'#13#10
               + 'From Table1'#13#10
               + 'Where (Field1 = :param1)';

     ParamByName('param1').AsString :=    
     ????(ここに、現在フォームで選択されている
      レコードのフィ-ルドをセットしたいのです。)
色々試しているのですが、TSting型とTDBEdit型型
では互換性がないのエラーで・・


Kikumi  2003-02-06 20:56:08  No: 2802

すいません・・解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加