![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в DBGrideEh получить номера выделенных строк? [D6, FireBird]
Andriano © (2002-11-11 14:42:00)Подробнее: Разрешено мультивыделение в DBGRideEh. Выделил. Как теперь получить номера выд. строк, для последующей обработки строк в DataSet-е?
Спасибо.
Skolotovich (2002-11-11 16:28:00) [1]в eh - кмпонентах отличный хелп очень советую
я сам с этим три дня назад разобрался благодоря великому F1
Andriano (2002-11-11 15:59:00) [2]Значит myDBGridEh.SelectedRows.Items[i] это и есть Bookmark, поддерживаемый DataSet. Понятно. Спасибо.
Skolotovich (2002-11-11 15:49:00) [3]query:="select * from db_comp where ind = ";
changePrn:=OKRightDlg.getChange;
case changePrn of
0:
begin
if not myDataModule.RunQuery(query+myDataModule.myQuery.FieldByName("ind").AsString) then
begin
MessageDlg("Ошибка в базе!!!", mtError, [mbOK], 0);
end;
QRForm.DBQuickRep.Print;
// myDataModule.RunQuery("select * from db_comp");
end;
1:
begin
selectInd:=TStringList.Create;
if myDBGridEh.SelectedRows.Count>0 then
begin
for i:=0 to myDBGridEh.SelectedRows.Count-1 do
begin
myDataModule.opQuery.GotoBookmark(pointer(myDBGridEh.SelectedRows.Items[i]));
selectInd.Add(myDataModule.opQuery.FieldByName("ind").AsString);
end;
query:=query+selectInd.Strings[0];
for i:=1 to selectInd.Count-1 do query:=query+" or ind = "+selectInd.Strings[i];
myDataModule.RunQuery(query);
QRForm.DBQuickRep.Print;
// myDataModule.RunQuery("select * from db_comp");
end
else MessageDlg("Не выделено ни одной строки!", mtInformation, [mbOK], 0);
selectInd.Free;
надеюсь разберешся :-)