Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > как переместить курсор DBGrid1 / Table1 |
Автор: 1900s 27.5.2008, 19:16 |
Добрый день, подскажите кто знает: у меня есть DBGrid1 в него втянуты все данные с Table1 (из БД через BDE) есть так же массив Ans[i] в котором хранятся путь перехода К примеру: 1 -> 2 -> 4 -> 3 -> 5 -> 1 Переходы по DBGrid1 / Table1 строка № 1 столбец №2 строка № 2 столбец №4 строка № 4 столбец №3 строка № 3 столбец №5 строка № 5 столбец №1 необходимо записать значение DBGrid1 / Table1 в переменную. как это сделать? |
Автор: Rodman 27.5.2008, 21:13 |
юзай - NEXT. PREV, FIRST, LAST |
Автор: 1900s 27.5.2008, 22:35 |
есть ли пример как перейти в нужную ячейку? (например: как перейти во 2ю строку, 3й столбец) |
Автор: Lunatikus 28.5.2008, 12:17 |
есть такой метод moveby(i),где i-число позиций,на которое надо сдвинуться.Если отрицательное-вверх.положительное-вниз по списку. В текущий момент времение тебе известно свойство recno-число,отражающее текущую позицию(0-ая,7-ая и т.д.). Из своего массива ты знаешь,куда тебе надо(ansi[7]:=5 например) Тогда,чтобы сдвинуться на следующий уровень по массиву ansi,надо выполнить query.moveby(ansi[7]-query.recno) |
Автор: Vas 28.5.2008, 12:35 | ||
DBGrid здесь ни при чем он тока отображает данные, так что работать придется с dataset читай пост Lunatikus'a половина решения проблемы, а потом когда спозиционируешь курсор на нужной записи бери данные по номеру столбца
P.S. код не проверял, и по работе MoveBy на память не помню может даже не придется вычитать 1. Оптимизировать код не только можно, но и нужно, надо как минимум сделать так чтобы не перепрыгивать в начало (но это уже сам). |
Автор: 1900s 28.5.2008, 16:48 |
Спасибо Vas, все работает! |