|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.08.2009, 10:02 | #1 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 44
|
DBGrid2(CellClick) фокус на строке в цвете в DBGrid1
Добрый день.
Вопрос прост, но т.к. я не программист, то искал-искал, да не нашел... Подскажите пжл. как реализовать следующую вещь: Есть два грида, DBGrid1,DBGrid2. - в DBGrid1 есть строка, которая выделена цветом с помощью DrawColumnCell. - выделяется она по щелчку на DBGrid2(CellClick). Вопрос: как мне при щелчке на DBGrid2(CellClick) сфокусировать ту самую стору в DBGrid1, которая получила цвет? Сейчас пока вариан такой: DBGrid2CellClick begin -- DBGrid1.Refresh; DBGrid1.SetFocus; end. Естественно фокус на первой строке в DBGrid1. А вот как сделать фокус на той что в цвете? |
31.08.2009, 10:33 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
31.08.2009, 11:02 | #3 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 44
|
"в цвете" имелось ввиду что одна строка грида выделена цветом.
Эта строка в DBGrid1. Цвет устанавливается по CellClick на DBGrid2 по определенным условиям набора данных ADOQuery. Сам цвет устанавливается событием DrawColumnCell DBGrid1 где если значение совпало с значением ADOQuery DBGrid2, то выделяется строка цветом. DBGrid2CellClick begin --определение значения DBGrid1.Refresh;--для того чтобы DrawColumnCell DBGrid1 выделело цветом по значению строку в DBGrid1 DBGrid1.SetFocus; как чтобы вместо DBGrid1.SetFocus зделать чтобы сфокусировать на ту строку, которую выделело DrawColumnCell DBGrid1? |
31.08.2009, 11:11 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Вообще навигации в DBGrid запрещены, он полностью подчиняется набору Table или Query Или чего там уу тя. Если ты хочешь поставить курсор на запись, подсвеченную в ДБГриде, тебе нужно знать ее позицию относительно нуля. и перейти к ней:
Код:
I'm learning to live...
|
31.08.2009, 16:25 | #5 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 44
|
Решил реализовать цикл в DBGrid2CellClick:
max:=ADOQuery_1.RecordCount; p_dlia_videlenia:=ADOQuery_2.FieldB yName('ORDER#').AsString; for i:=0 to max-1 do begin DBGrid1.DataSource.DataSet.RecNo:=i +1; if DBGrid1.Fields[0].AsString=p_dlia_videlenia then stroka_poiska:=i; end; DBGrid1.SetFocus; DBGrid1.DataSource.DataSet.MoveBy(s troka_poiska); однако фокус не устанавливается...визуально пробегается по строкам всего грида, и останавливается на последней.... и записи: DBGrid1.SetFocus; DBGrid1.DataSource.DataSet.MoveBy(s troka_poiska); как буд-то игнорируются...что делать? |
31.08.2009, 17:30 | #6 |
Пользователь
Регистрация: 13.04.2009
Сообщений: 44
|
во дела....во ступил....First не указал
все прекрасно работает)) спасибо за помощь! |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Фокус на заданной строке в DBGrid | Zver | БД в Delphi | 6 | 08.11.2014 12:51 |
Копирование строки из dbgrid1 в dbgrid2 | XFilippowX | Общие вопросы Delphi | 3 | 17.02.2009 19:00 |
DBGrid1 | santasss | Общие вопросы Delphi | 5 | 27.01.2009 12:00 |
как переместить курсор DBGrid1 / Table1 | 1900s | БД в Delphi | 3 | 28.05.2008 17:49 |
вопрос о цвете символа | Ceprey | Общие вопросы C/C++ | 5 | 01.05.2008 20:53 |