ソロと申します。
DBGridでスクロールしたときに、フォーカスが当たっている行の値を
テキストボックスなどに表示したいと思っています。
DBGridのイベントは片っ端からやってみましたが、
該当するようなものが見つかりませんでした。
何か他に方法等があるようでしたら、
教えていただけませんでしょうか。
よろしくお願いいたします。
>DBGridでスクロールしたときに、フォーカスが当たっている行の値を
行の値とは?
普通にTDBGridと同じデータセットのフィールドをデータベース対応コンポーネント(TDBEditなど)で表示してみてください。
皆様ありがとうございます。
> > DBGridでスクロールしたときに、フォーカスが当たっている行の値を
> 行の値とは?
グリッドに表示されているデータの一行の値です。
もちろん実際はフィールドも指定します。
> 普通にTDBGridと同じデータセットのフィールドを
> データベース対応コンポーネント(TDBEditなど)で表示してみてください。
なるほど。
やってみた上で、また報告させていただきます。
Edit1.Text := DbGrid1.DataSorce.DataSet.Fields[0].asString;
などと、Fieldを指定すれば値がとれます。
Edit1.Text := Query1.Fields[0].AsString;
も同じですね。
> 皆様
できました!
ありがとうございました。
ただ、Gridのスクロールには対応しても、マウススクロールには
対応できないようです。
やはりマウススクロールまでは対応できないんでしょうか。。
手元にこんなのがありました。
TApplicationEventsのOnMessageで
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
begin
with Msg do begin
case Message of
WM_MOUSEWHEEL:begin
Message := WM_KEYDOWN;
lParam := 0;
if SmallInt(HiWord(wParam))>0
then wParam := VK_UP
else wParam := VK_DOWN;
Handled := False;
end;
end;
end;
end;
どこかに掲載されていたものだと思いますが、忘れました。
> 通りすがり様
ありがとうございます。
早速試してみます。
> 通りすがり様
できましたー!
ちょっと感動しました。
ありがとうございました。
ツイート | ![]() |