| 
| 
 | Вопрос # 5 464/ вопрос решён / | 
 |  Здравствуйте уважаемые эксперты!Подскажите, как реализовать вывод информации из полей DBGrid при перемещении по строкам  в соответствующий Label ?
 Al_Sha
 
|  |   Вопрос задал: Al_Sha (статус: Посетитель)Вопрос отправлен: 30 июня 2011, 11:11
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, Al_Sha!Нужно не с DBGrid брать данные. Ваш DBGrid должен быть связанным с каким-либо DataSource (иначе Вы бы такой вопрос не задавали).
 Поэтому, ставим на форму DBLabel (не обычный Label,  а специальный), в свойствах DataSource привязываем нужный DataSource, и в свойстве Field выбираем поле для отображения. И все. Все будет работать как нужно.
 Но если хочется именно в Label (мало чего), тогда данные лучше читать напрямую с Table/Query.
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 30 июня 2011, 11:16
 
 |  Ответ #2. Отвечает эксперт: ArtGal Здравствуйте, Al_Sha!
 Напиши обработчик
 DBGrig.DataSource.DataSet.AfterScroll(DataSet)
 
 Типа такого
 
 procedure TForm1.ADOQueryAfterScroll(DataSet: TDataSet);
 begin
 Label.Caption := ADOQuery.FieldByName('Тра-та-та').AsString;
 end;
 
|  | Ответ отправил: ArtGal (статус: 1-ый класс)Время отправки: 30 июня 2011, 15:47
 
 |  
 Мини-форум вопросаВсего сообщений: 10; последнее сообщение — 5 июля 2011, 20:03; участников в обсуждении: 3. 
|   | Al_Sha (статус: Посетитель), 30 июня 2011, 11:26 [#1]:Спасибо за ответ, но... У меня данные в DBGrid попадают через ADOQuery,могу вывести в Label через CellClick при нажатии мышью на каждой строке DBGrid, выводится нормально, но хотелось бы выводить динамически через скроллинг, т.е. при прокрутке DBGrid данные из полей выводились в Label/
 С уваженнием
 Al_Sha
 |  
|   | Вадим К (статус: Академик), 30 июня 2011, 11:52 [#2]:DBGrid привязан напрямую к ADOQuery? без промежуточного DataSource? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Al_Sha (статус: Посетитель), 30 июня 2011, 12:12 [#3]:Нет, конечно... Через DataSource
 |  
|   | Вадим К (статус: Академик), 30 июня 2011, 12:14 [#4]:А так, как Label нужен только для отображения, ставим на форму его наследника - DBLabel (это вроде вкладка DBControl). А потом привязываем к нужному DataSource. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Al_Sha (статус: Посетитель), 30 июня 2011, 12:17 [#5]:Ну хорошо... Будем дальше разбираться.
 Спасибо
 Al_Sha
 |  
|   | Вадим К (статус: Академик), 30 июня 2011, 12:23 [#6]:Так вопрос решился? или как? Галочка "подтверждения прочтения" - вселенское зло. |  
|   | ArtGal (статус: 1-ый класс), 30 июня 2011, 15:51 [#7]:DBGrig.DataSource.DataSet.AfterScroll(DataSet) 
 procedure TForm1.ADOQueryAfterScroll(DataSet: TDataSet);
 begin
 Label.Caption := DBGrig.DataSource.DataSet.FieldByName
 ('Тра-та-та').AsString;
 end;
 // Странно здесь сообщения форматируются.
 |  
|   | Вадим К (статус: Академик), 2 июля 2011, 19:29 [#8]:И все равно данные берутся с DataSource   Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Al_Sha (статус: Посетитель), 5 июля 2011, 20:01 [#9]:Вопрос решился sLabel1.Caption := adoQuery1.fields[0].asstring;
 Спасибо всем.
 С уважением
 Al_Sha
 |  
|   | Al_Sha (статус: Посетитель), 5 июля 2011, 20:03 [#10]:Sorry... Именно в этой процедуре
 Спасибо  ArtGal
 procedure TForm1.ADOQueryAfterScroll(DataSet: TDataSet);
 |  5 июля 2011, 20:06: Статус вопроса изменён на решённый (изменил автор вопроса — Al_Sha) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |