Манипуляции с несколькими выделенными строками в DBGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
wwswowsogon
постоялец
Сообщения: 157
Зарегистрирован: 23.12.2008 19:41:37

Манипуляции с несколькими выделенными строками в DBGrid

Сообщение wwswowsogon »

Всем доброго времени суток!

Столкнулся со следующей проблемой: нужно что-либо сделать с данными при выделении нескольких строк в DBGrid. К примеру, банально удалить их.

Есть метод

Код: Выделить всё

DBGrid1.SelectedRows.Delete


и это прекрасно, но в некоторых таблицах при удалении записей желательно или даже необходимо удалять данные из других таблиц, связанных, например, ID'ом. Тогда, надо полагать, нужно получить ID'ы записей, которые в выделенных строках. Как это сделать?

В общем случае - как получить массив данных всех выделенных записей в DBGrid?

С одной записью понятно, как это сделать,

Код: Выделить всё

DBGrid.DataSource.DataSet.Fields.Field[0..n].As...

, а с несколькими - нет.
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Re: Манипуляции с несколькими выделенными строками в DBGrid

Сообщение Снег Север »

Код: Выделить всё

For i := 0 to Grid.SelectedRows.Count -1 do begin
{ GoTo selected record: }
   Grid.datasource.dataset.Bookmark := Grid.SelectedRows.Items[i];
{ Do something with i-th selected record }
   ..................
end;
wwswowsogon
постоялец
Сообщения: 157
Зарегистрирован: 23.12.2008 19:41:37

Re: Манипуляции с несколькими выделенными строками в DBGrid

Сообщение wwswowsogon »

Спасибо!
Раньше не работал с закладками,краем уха слышал о них. Раскурил мануалы, полезная вещь, всё работает. :)
Аватара пользователя
Снег Север
долгожитель
Сообщения: 3067
Зарегистрирован: 27.11.2007 15:14:47
Контактная информация:

Re: Манипуляции с несколькими выделенными строками в DBGrid

Сообщение Снег Север »

Да не за что, это не я сам такой умный, я гугл :D , тоже когда-то понадобилось...
Ответить