Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужно чделать отбор выделенных записей ! [D7, Paradox]


Alpine ©   (2005-09-08 00:01:00) 

Здраствуйте уважаемые мастаки. У меня к вам вопрос ..
Сделал я возможность мултиселекта в гриде. А теперь надо сделать отбор этих записей. Тобишь чтоб оставались только выделенные записи ! Помогите плиз кто чем может ))

Заранее благодарю всех откликнувшихся !


Desdechado   (2005-09-09 16:33:00) [1]

DBGridEh1 - случайно не к DMFrm.TovarQuery привязан?
for nCurr := 0 to gridSelect.SelectedRows.Count - 1 do
 begin
   qrySelectNagr.GotoBookMark( Pointer( gridSelect.SelectedRows.Items[ nCurr ] ) );
...
 end // for


Sergey13   (2005-09-09 16:04:00) [2]

Ну тогда уж не через  fld=ID1 OR fld=ID2 а через IN. Всяко покороче будет, ИМХО.


Alpine   (2005-09-09 15:58:00) [3]

Очень надо плиззз


Alpine   (2005-09-09 15:57:00) [4]

Делаю так

 With DBGridEh1.SelectedRows do
  begin
   For i := 0 To Count - 1 Do
    If IndexOf( Items[i]) > -1 Then
     Begin
     DMFrm.TovarQuery.RecNo := IndexOf( Items[i]);
     if i=0 then otborsel := 'Where ID='+DMFrm.TovarQuery.FieldByName('ID').AsString
     else otborsel := otborsel + ' OR ID=' + DMFrm.TovarQuery.fieldbyname('ID').AsString;
      //otborsel
     End;
       DMFrm.TovarQuery.Close;
         DMFrm.TovarQuery.SQL.Clear;
           DMFrm.TovarQuery.SQL.Add('Select * from tovar');
         DMFrm.TovarQuery.SQL.Add(otborsel);
       DMFrm.TovarQuery.Open;
 end;

Работает с ошибками ... Отбираются или не все выделенные записи или выбираются некоторые не выделенные коороче не работает (( Помогите !


Anatoly Podgoretsky   (2005-09-08 17:05:00) [5]

WHERE fld=ID1 OR fld=ID2 ... но можешь нарваться на ограничения.


BanderLog   (2005-09-08 06:50:00) [6]


  TmpBookMark := IBQuery.GetBookmark; //Запоминаем текущую позицию

  With DBGrid.SelectedRows do
   begin
    For i := 0 To Count - 1 Do
     If IndexOf( Items[i]) > -1 Then
      Begin
       ...
      End;
   end;

  IBQuery.Bookmark := TmpBookMark; // Восстанавливаем позицию


Ильш   (2005-09-08 06:12:00) [7]

Bookmarkи мейби
а дальше пишем код


Наверх

Титульная страница Поиск, карта сайта Написать письмо