Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2013, 08:39   #1
Ivan174
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 51
По умолчанию Проблема с DbText

На форме имеется cxDbGrid, который выводит данные из одной таблицы в базе данных Firebird. Так же на форме есть кнопка. Суть вот в чем: пользователь выделяет нужную ему строку, нажимает кнопку. После чего открывается новое окно. В нем выводятся некоторые данные из выделенной строки в гриде. Я использовал DbText для вывода этой информации. Но по какой-то непонятной для меня причине в DbText выводится информация по первой строке в гриде, а не по выделенной. Подскажите, куда копать? В чем может быть проблема?
Ivan174 вне форума Ответить с цитированием
Старый 25.04.2013, 08:55   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Выбросить DBText (интересно что это такое?) на помойку и использовать штатный TEdit.
Прик вне форума Ответить с цитированием
Старый 25.04.2013, 09:02   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
Выбросить DBText
Чем он плох? Нацелил на нужное поле источника данных и просматривай данные из текущей записи источника без лишних телодвижений. Проблема видимо с выделением строки в cxDbGrid - указатель в источнике данных при этом перемещается на соответствующую запись? Такого грида в глаза не видел, а ТС рекомендовал бы внимательно изучить особенности грида
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 25.04.2013 в 09:08.
Аватар вне форума Ответить с цитированием
Старый 25.04.2013, 09:23   #4
Ivan174
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Чем он плох? Нацелил на нужное поле источника данных и просматривай данные из текущей записи источника без лишних телодвижений. Проблема видимо с выделением строки в cxDbGrid - указатель в источнике данных при этом перемещается на соответствующую запись? Такого грида в глаза не видел, а ТС рекомендовал бы внимательно изучить особенности грида
Прощу прощения, опечатался. Не cxDbGrid, а cxGrid. Он тоже коннектится к базе.
Дам пояснение. На основной форме так же имеются DBText. Связаны с тем же самым DataSource. При перемещении по записям в гриде - показывают нужную информацию.
Допустим, у меня в вызываемой форме в DbText указан DataSource: Form4.ds1 и DataField: Масса нетто. информация выводится по первой строке, а не по выделенной, как я и писал.
Но если в вызываемой форме прописать запрос netto:= Form4.pfbdtst1.FieldByName('Масса нетто').AsInteger; - то он выводит информацию по выделенной строке...

Цитата:
Сообщение от Прик Посмотреть сообщение
Выбросить DBText (интересно что это такое?) на помойку и использовать штатный TEdit.
DBText - очень удобен. Это как Label, только не надо вручную забивать его текстом. В параметрах указывается DataSource и DataField и все, автоматически выводится значение нужной записи

Последний раз редактировалось Stilet; 25.04.2013 в 09:36.
Ivan174 вне форума Ответить с цитированием
Старый 25.04.2013, 09:33   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А-а, DevExpress. Но тоже не пользуюсь. Наслышан, что изучение его компонентов сильно похоже на шаманский процесс
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.04.2013, 09:34   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
в DbText выводится информация по первой строке в гриде, а не по выделенной
Значит он не связан с DataSet-ом правильно.
Или твой cxGrid попросту не работает так как штатный DBGrid.
Как вариант: при открытии второй формы принудительно с помошью moveby() перескакивать на нужную запись.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.04.2013, 09:34   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
В параметрах указывается DataSource и DataField и все, автоматически выводится значение нужной записи
осталось только правильно выставить DataSource на нужный DataSet или нужный DataSet на нужную запись.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 25.04.2013, 14:30   #8
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Скорее всего к компоненту DBText подключён другой DataSet
superedward вне форума Ответить с цитированием
Старый 25.04.2013, 15:05   #9
Ivan174
Пользователь
 
Регистрация: 05.09.2012
Сообщений: 51
По умолчанию

Цитата:
Сообщение от superedward Посмотреть сообщение
Скорее всего к компоненту DBText подключён другой DataSet
В том то и дело, что тот.
В общем DataField установил через object inspektor->properties, а DataSet прописал в коде в обработчике FormShow. Так работает. Странно...
Ivan174 вне форума Ответить с цитированием
Старый 25.04.2013, 15:13   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
DataSet прописал в коде в обработчике FormShow. Так работает. Странно
Ничего странного. Бывает, что в рунтайм сбрасываеся. Лучше в таких случаях всегда в коде прописывать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести значение отдельного поля таблицы в DBText при выборе записи в DBGrid? Kalach БД в Delphi 18 07.02.2013 07:02
умножение edit на dbtext panuta Общие вопросы Delphi 5 18.09.2011 16:07
Как передать значение из DBText в edit? smaw1989 БД в Delphi 12 25.12.2010 11:35
DBText и Label Максим_Леонидович Общие вопросы Delphi 2 09.08.2008 22:04
DBText yulia БД в Delphi 10 24.05.2007 21:31