8

TDBGridで現在どの行が現在であるかを確認する方法はありますか?

4

3 に答える 3

5

あなたの質問を理解しているかどうかわかりませんが、回答を試みます。これがあなたが求めているものでないかどうかを明確にすることができるかもしれません.

TDBGrid は DataSource に関連付けられているため、現在の行はデータ ソースの現在の行と同じです。主キー値または RecNo プロパティを調べて、どのレコードが現在のレコードであるかを判断することにより、DataSource を照会できます。

于 2009-03-23T04:55:55.437 に答える
5

次のように実行できます。

1 - TDBGrid のコピーであるローカル クラスを定義します (これにより、プライベート メソッドにアクセスできるようになります)。

type
  THackDBGrid = class(TDBGrid);

2 - 次に、ローカルで定義されたクラスにキャストし、次のようにプライベート メソッドからプルできます。

function TfrmMain.GetFieldValue(colnum : integer): string;
begin
  Result := THackDBGrid(grdMain).GetFieldValue(colnum);
end;

または、行を取得するには #:

function CurrentRowNumber: integer;
  Result := THackDBGrid(grdMain).Row;
end;

この手法は他の状況でも役立ちますが、信用はできません。 私はここからそれを手に入れました

于 2009-03-23T16:30:39.197 に答える
0

レコード数と現在のレコードを提供するためにデータ ソースに依存したくない場合 (たとえば、リモート サーバーで一方向カーソルを使用している場合)、基になるグリッド コントロールのプロパティにアクセスする手法を使用できます。利用される。

同様の StackOverflow の質問に対するこの回答を参照してください。

于 2009-03-23T05:14:22.367 に答える