■■■■ TDBGrid で複数行をマークし、それを知る方法 ■■■■

送信者:富中



TDBGrid
SelectedRows プロパティは,データセット内の全レコードに対するブックマークの集合を示し,グリッド内の選択されている各行に対応します。

property SelectedRows: TBookmarkList;

説明

SelectedRows から返される TBookmarkList オブジェクトのプロパティとメソッドを使って,以下の処理を行います。

グリッド内の選択されている行の数を知る
データセット内の現在のレコードが選択されているかどうかを知る
データセット内の特定のレコードが選択されているかどうかを知る
データセットから選択されているすべての行を削除する

SelectedRows が有効になるのは,Options プロパティに dgRowSelect と dgMultiSelect が設定されているときだけです。

以下の例は,DBGrid で選択されている行をリストボックスにコピーします。

procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for