Советы по Delphi

       

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


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

{*
Данный пример позволяет производить множественный выбор записейв табличной сетке и отображать второе поленабора данных.
Метод DisableControls применяется для того, чтобыDBGrid не обновлялся во время изменения набора данных.Последняя позиция набора данных сохраняется какTBookmark.
Метод IndexOf вызывается для проверкисуществования закладки.Решение использовать метод IndexOf, а не методRefresh должно определятьсяспецификой приложения.*}
procedure TForm1.SelectClick(Sender: TObject);
var
x: word;TempBookmark: TBookMark;begin
DBGrid1.Datasource.Dataset.DisableControls;with DBgrid1.SelectedRows doif Count <> 0 thenbeginTempBookmark:= DBGrid1.Datasource.Dataset.GetBookmark;for x:= 0 to Count - 1 dobeginif IndexOf(Items[x]) > -1 thenbeginDBGrid1.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]

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