Multiple selection in DBGrid (by program)

Greetings!

  I am totally stumped on this one. I would like to have multiple
selection in a DBGrid. Sure there is an option that let you enable
rowselect and let the user have multiple select. My questions are:

 1) How do you retieve the multiple selection made by the user?

and
 2) How do I perform the same action in my program? i.e. Letting
    user press a Select All button and I select all items in the
    grid or Deselect All to deselect all items in the grid.

Is this even possible? What other (data-aware component) alternatives
do I have?

Thanks!

-- Vince

---------------------------------------
v...@mpr.ca  ---,-'-{@

    o/'            o    ,o     o/'            o    ,o
  `-(       o/'  `-()   >(    `0       o/'  `-()   >(
   / >   .-'|>    /<    `<    / >   .-'|>    /<    `<