Delphi - Using DBGrid to select rows from a search

2019-09-20 01:03发布

问题:

I have searched a database using a query.

The results of the search are displayed in a DBGrid component for the user to select the row s/he wishes to proceed with.

DBGrid always sets the record pointer to the first record in the results set, so a row is always "selected" by default. I need to change this behaviour to no row being selected when the data is first presented so that I can determine if the user has actually made a selection.

Is it possible to tell if no selection has been made, i.e. no row has been selected by the user?

Any help very much welcomed!

回答1:

You can include dgMultiSelect into DBGrid.Options, then DBGrid.SelectedRows will contain list of explicitly selected record bookmarks. Without dgMultiSelect the DBGrid always track the current dataset record.