![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Atreides |
![]()
Сообщение
#1
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
Добрый день! Может кто сталкивался с подобной проблемой. Использую DBGrid, ClientDataSet, DataSource для вывода данных из Оркалинной БД. Пользователь может добавлять, редактировать или удалять записи. Все действия выполняются отлично, но после выполнения обновления и чтоб наверняка обновляю запросом повторным, DBGrid улетает в начало списка. Как при добавлении записи перевести на новую запись, при редактировании оставить на отредактированной записи, при удалении оставить на месте предыдущей?
Еще вопрос, немного не в тему. Использую в качестве справочника DBLookupComboBox. Как перейти, при уже заполненном данными DBLookupComboBox к строке в которой такое же значение как и в поле редактируемой записи? Сообщение отредактировано: Atreides - 9.03.2011 10:49 -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата А можно пример, пожалуйста, а то никогда не работал с такой компонентой. В хелпе должен быть пример использования. Вот из онлайн-документации: Marking and Returning to RecordsЦитата С добавлением нашел просто выход - ClientDataSet.Last А если данные будут добавлены не в самый конец набора? Тогда что? Добавил в середину, и перешел к последнему элементу? Все ж зависит от того, как у тебя происходит сортировка при выводе... |
Atreides |
![]()
Сообщение
#3
|
![]() Ветеран Броуновского Движения ![]() ![]() ![]() Группа: Пользователи Сообщений: 281 Пол: Мужской Реальное имя: Сергей Репутация: ![]() ![]() ![]() |
В хелпе должен быть пример использования. Вот из онлайн-документации: Marking and Returning to Records Спасибо, пригодиться! А если данные будут добавлены не в самый конец набора? Тогда что? Добавил в середину, и перешел к последнему элементу? Все ж зависит от того, как у тебя происходит сортировка при выводе... А у меня в таблице добавленные записи всегда с новым идентификатором пишутся (+1). Подобрал вот такой способ для прыжка на место записи - Код st := 'select * from .... order by идентификатор записи'; Form1.ClientDataSet1.close; Form1.ClientDataSet1.DataRequest(st); Form1.ClientDataSet1.open; FOrm1.ClientDataSet1.Locate('Искомое поле', VarArrayOf([TRIM(Form1.Edit2.text)]), [loPartialKey]); -------------------- Отрадно спать, отрадней камнем быть, О, этот век, преступный и постыдный, Не жить, не чувствовать - удел завидный. Прошу, молчи, не смей меня будить!
|
![]() ![]() |
![]() |
Текстовая версия | 6.08.2025 8:09 |