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

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

cxGrid - как обратиться к отфильтрованным записям? [D7]


Denis ©   (2007-04-18 14:05:00) 

Если кто работал с этим гридом  - подскажите, как обратиться к тем записям, которые отображаются после фильтрации? Должны же эти строки или ссылки на них храниться где-то, чтобы грид мог их отображать. Никак не могу найти что-то похожее на подобное временное хранилище. Буду очень благодарен за помощь.


Denis   (2007-04-19 16:23:00) [1]

>А какая разница ???
разница в том, что  у cxDBTableView нет указанного свойства Rows. вот Columns - эт пожалста... а напрямую списка Rows - нет:(

>Сравнивать с датасетом, как это делаете вы нельзя, грид не фильтрует датасет.
Я знаю что не фильтрует, но, если не ошибаюсь  - ViewData как раз и содержит ссылки на отображаемые строки, а как грид их находит через DataController.FocusedRowIndex - еще не знаю, но приведенный код работает, зарраза. Посмотрим еще насколько корректно.
Мне самому не нравится решение, поищу еще варианты. Если вы можете предложить иное, более правильное решение - буду очень благодарен.


DimaBr   (2007-04-19 15:01:00) [2]


> не подошло, потому как у меня cxDBTableView а не cxTableView

А какая разница ???
Сравнивать с датасетом, как это делаете вы нельзя, грид не фильтрует датасет.


Denis   (2007-04-19 13:03:00) [3]

>cxTableView1.ViewData.Rows[Index]
не подошло, потому как у меня cxDBTableView а не cxTableView.
но на верный путь натолкнуло. не знаю насколько корректно, но сделал так:

for i:=0 to cxGrid2DBTableView1.ViewData.RowCount -1 do
 begin
   if ActiveTable^.FieldByName('PRZNOBESPECH').AsInteger =1
   then
      continue;
   cxGrid2DBTableView1.ViewData.DataController.FocusedRowIndex:=i;
   IDRC:= Integer(cxGrid2DBTableView1.ViewData.GridView.Items[4].EditValue);
   MoveSelectedLineToSp(IDRC);
 end;  //for


DimaBr   (2007-04-18 16:06:00) [4]

cxTableView1.ViewData.Rows[Index]


Наверх

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