Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу как сделать чтобы при нажатии на строку грида ,был вывод записи на строку
Закрытая тема
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию как сделать чтобы при нажатии на строку грида ,был вывод записи на строку - 30.04.2005, 19:44

у меня опять вопрос
есть table и dbgrid.как сделать чтобы при нажатии на строку грида(допутим на третью) выводило соответствующую запись из table допустим в edit(допутим третью ).
я поставил обработчик на событие on cell click в dbgrid
Edit3->Text=Table1->FieldByName("name")->AsString;
но выводится только первая запись из table и все.при нажатии на на другие клетки все по прежнему.в чем ошибка?
  (#2 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,316
Сказал(а) спасибо: 21
Поблагодарили 921 раз(а) в 905 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 01.05.2005, 09:02

1.Для этого есть компоненты типа TDBEdit На странице компонент Data Controls.
2.Для извлечения соотв. поля в таком порядке можно повесить обработчик на Table->AfterScroll.


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
  (#3 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 01.05.2005, 11:56

спасибо рискну
  (#4 (permalink)) Старый
FataLL FataLL вне форума
Member
 
Аватар для FataLL
 
Сообщений: 1,783
Сказал(а) спасибо: 2
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 04.11.2004
По умолчанию 01.05.2005, 15:22

Ммммм... А почему бы и нет Вопрос задан. Вот решение:
Код:
void __fastcall TForm1::DBGrid1CellClick(TColumn *Column)
{
    Edit1->Text = Column->Field->AsString;
}
  (#5 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 01.05.2005, 15:44

все работает все гораздо проще.
у меня еще вопросец.
допустим есть одна таблица работник(таб.номер,код должности) и вторая должность(код должности,название должности).связываются по коду должности.
и допустим я хочу ввести новую запись работник ввожу фамилию.потом допутим название должности.а как сделать чтобы в таблицу работник вносилась запись с фамилией и соответствующим кодом должности?
Ads.
  (#6 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,316
Сказал(а) спасибо: 21
Поблагодарили 921 раз(а) в 905 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 01.05.2005, 15:59

Цитата:
Originally posted by Laime-oz
[b]все работает все гораздо проще.
у меня еще вопросец.
допустим есть одна таблица работник(таб.номер,код должности) и вторая должность(код должности,название должности).связываются по коду должности.
и допустим я хочу ввести новую запись работник ввожу фамилию.потом допутим название должности.а как сделать чтобы в таблицу работник вносилась запись с фамилией и соответствующим кодом должности?
Очевидно использовать Lookup-поля у TTable Открываешь редактор полей таблицы TTable работника, добавляешь Lookup поле, выводящее значение (название) из таблицы должностей на основании кода должности из таблицы работника. Потом перетаскиваешь это созданное поле из редактора полей сразу на форму и там появлется DBLookupComboBox (в DBGrid'е будет сразу ComboBox появлятся в режиме редактирования).

У тебя есть хоть базовые понятия по проектированию БД и интерфейсов к ним в BCB ?
Может те лекции скинуть?


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
  (#7 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 01.05.2005, 17:22

а давай!а то я обкакиюсь допирать.laime-oz@rambler.ru
любезно благодарен
  (#8 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 01.05.2005, 22:00

когда делаю lookup поле выдает ошибку datafield not permitted on open dataset.
подскажите пож как настроить dblookup combobox?а то че то руки кривые никак не выходит?и у меня вопрос если я запоняю базу через хранимую процедуру то все нормально будет если допутим я буду делать так
in_komptexADOProc->Parameters->CreateParameter("@kod_dolg",ftBCD,ptInput,6,dbloo kupComboBox->Text)?
  (#9 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,316
Сказал(а) спасибо: 21
Поблагодарили 921 раз(а) в 905 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 01.05.2005, 22:21

1. По русски же написано: "нельзя выполнить операцию над открытым датасетом". Сколько работаю с БД, все время попадаюсь на эту удочку. Млин, не могли автоотключение сделать!
Во избежание этих постоянных граблей теперь таблицы подключаю всегда только в runtime типа Table1->Close() или Table1->Open()
(Table1->Active = false или true).
2. до параметров не доучился, формирую запросы на sql составлением строки динамически. Когда разберешься, опиши подробно.


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
  (#10 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 02.05.2005, 01:19

ну я так приблизительно понял.
господа знатоки следующий вопрос.прям фак какой то по бд открылся.
как обовлять грид?
добавил запись допустим?а как обновить чтоб сразу показывало?
я извиняюсь что нефига не знаю заранее
  (#11 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,316
Сказал(а) спасибо: 21
Поблагодарили 921 раз(а) в 905 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 02.05.2005, 09:54

У TTable есть свойство AutoRefresh. Также можно обновлять вручную TTable->Refresh();
p.s. ничего такого не делаю, а добавленные записи сразу показываются.


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
  (#12 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 02.05.2005, 11:55

спасибо за методу
Ads
  (#13 (permalink)) Старый
Laime-oz Laime-oz вне форума
Member
 
Сообщений: 116
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.03.2005
По умолчанию 02.05.2005, 13:02

у меня руки конечно кривые но все таки работает.выпадает список всех должностей но как теперь передать это дело в хранимую функцию?
in_rabotnik_ADOStoredProc1->Parameters->CreateParameter("@kod_dolg",ftBCD,ptInput,6,DBLoo kupComboBox2->Text);
пишет не совпадение типов.походу он естественно передает именно название должности.а как бы хочется чтоб уже код передавал соответсвенно таблице должностей(1-директор,2-бухгалтер,3-повар....)
или как это по русски делается?
  (#14 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,316
Сказал(а) спасибо: 21
Поблагодарили 921 раз(а) в 905 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 02.05.2005, 13:19

случайно нажал, можно удалить


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
  (#15 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,316
Сказал(а) спасибо: 21
Поблагодарили 921 раз(а) в 905 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 02.05.2005, 13:19

Цитата:
Originally posted by Help
[b]TParameter* __fastcall CreateParameter(const WideString Name, Db::TFieldType DataType, TParameterDirection Direction, int Size, const OleVariant &Value);
следовательно:
Код:
CreateParameter(WideString("@kod_dolg"), ftBCD, ptInput, 6, Table1->FieldByName("Код_должности")->Value);


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
Закрытая тема

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите перевести вывод в строку! bigmen С/С++ 1 27.01.2012 12:03
как сделать чтобы нажимая на строку таблицы, открывалась другая таблица? Selicat Вопросы начинающих программистов 0 25.04.2011 11:21
Вывод вещественного числа в строку olegnaum С/С++ 2 22.11.2009 09:50
Как сделать чтобы в строку выводилось только семь цифр Charlie Rat Вопросы начинающих программистов 2 06.12.2007 19:45
Событие OnClick при нажатии на фиксированную строку X-Cite_Forever Delphi 1 01.07.2007 23:25
Как сделать чтобы при нажатии на строку в ListBox-e не менялся свет на синий Azic C++ Builder 10 23.10.2006 18:10
Как сделать вывод подсчетов в строку Илюх@ C++ Builder 1 14.08.2006 16:32
CTreeCtrl: как сделать чтобы выделяла строку, при нажатии на чекбокс Rickert Visual C++ 0 14.07.2006 11:37
Как сделать, чтобы ListBox фиксировал строку Rickert Visual C++ 8 12.07.2006 13:19
Как сделать чтобы при клике на любую строку вызывался MSG Vitala Visual C++ 3 26.11.2005 23:07
Как сделать чтобы каждый buf[i] содержал отдельную строку Stalk200 Вопросы начинающих программистов 3 29.08.2005 10:18
Как на java сделать так чтобы один файл передавал в другой файл строку [PaN] Java 4 11.12.2004 07:28



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов