Советы по Delphi

         

Использование опции MultiSelect в DBGRID


Есть пример в Delphi Technical Information... Его можно посмотреть по адресу

http://loki.borland.com/winbin/bds.exe?getdoc+2976+Delphi

    {*
Данный пример позволяет производить множественный выбор записей в табличной сетке и отображать второе поле набора данных.
Метод DisableControls применяется для того, чтобы DBGrid не обновлялся во время изменения набора данных. Последняя позиция набора данных сохраняется как TBookmark.


Метод IndexOf вызывается для проверки существования закладки. Решение использовать метод IndexOf, а не метод Refresh должно определяться спецификой приложения. *}
procedure TForm1.SelectClick(Sender: TObject);
var
x: word; TempBookmark: TBookMark; begin
DBGrid1.Datasource.Dataset.DisableControls; with DBgrid1.SelectedRows do if Count <> 0 then begin TempBookmark:= DBGrid1.Datasource.Dataset.GetBookmark; for x:= 0 to Count - 1 do begin if IndexOf(Items[x]) > -1 then begin DBGrid1.Datasource.Dataset.Bookmark:= Items[x]; showmessage(DBGrid1.Datasource.Dataset.Fields[1].AsString); end; end; end; DBGrid1.Datasource.Dataset.GotoBookmark(TempBookmark); DBGrid1.Datasource.Dataset.FreeBookmark(TempBookmark); DBGrid1.Datasource.Dataset.EnableControls; end;
[000064]

Содержание раздела