RSS
 

 

Как в TDBGridEh (Delphi + EhLib ) выделять записи клавиатурой

28 Дек

Недавно встал вопрос, как используя только  клавиатуру в  TDBGridEh (EhLib) отмечать и снимать выделение нескольких записей не последовательного диапазона?

Все очень просто.

Установите Options - dgRowSelect и dgMultiSelect в True.
Установите OptionsEh - dgрClearSelection в False.
На событие OnKeyPress вашего DBGridEh1 разместите такой код:

procedure TForm1.DBGridEh1KeyPress(Sender: TObject; var Key: Char);
begin
 if key = ' ' then
  with (Sender as TDBGridEh) do
   if DataSource.DataSet.Active then
    SelectedRows.CurrentRowSelected := not SelectedRows.CurrentRowSelected;
 end;

Теперь при нажатии клавиши пробел в DBGridEh1  вы будете выделять запись или снимать выделение с отмеченной записи на которой стоит текущий указатель.


 
 

Метки: , 28.12.2010