Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получит текущую запись DBGrid

48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
На форме DBGrid(табличка) и поле Edit1

Щелкаем по определенной записи в таблице и содержимое этой записи должно отобразиться в Edit1.

При такой записи в Edit1 попадает первая запись!

Подскажите как записать текущую запись в Edit1

Form1->ADOTable1->Open();
Form1->ADOTable1->Edit();
Edit1->Text = IntToStr(Form1->ADOTable1->Fields->FieldByName("id")->AsInteger);
Form1->ADOTable1->Close();
11
18 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
Form1->ADOTable1->Edit(); // это зачем тут надо?
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Просто вырвано из части кода, тут оно не нужно )))
11
18 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
ну дык можно было б и поболее часть кода привести, что бы было понятно откуда ноги растут. из приведенной части ничто не должно вызывать столь странного поведения.
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Тыкаем на запись в табличке и она должна отобразиться в Edit1
11
18 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
Спасибо Капитан Очевидность! Тыкаем - получаем. Что может быть проще? Приведенный код полностью рабочий, хотя и отдает индусизмом.
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Я в курсе, то он рабочий, только он получает первую запись таблицы, а не текущую...
11
18 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
мля, ты вообще читаешь что тебе пишут?
33K
18 ноября 2010 года
hivewarrior
205 / / 16.11.2010
Я, конечно, не профессионал в работе с базами данных и прочими ДПГридами, но случаем не поможет цепануть на ОнЦелКлик обработчик:
 
Код:
this->DBGrid1->SelectedField->GetValue(&this->Edit1->Text,false);

нэ?:o
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Не, там кучу ошибок сразу вывалилось
33K
18 ноября 2010 года
hivewarrior
205 / / 16.11.2010
И какие ошибки? Я не телепат.
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Слушай там кода больше никакого нету, только компоненты на форме
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Цитата: hivewarrior
И какие ошибки? Я не телепат.



Вот ошибки

[C++ Error] Unit1.cpp(42): E2316 'GetValue' is not a member of 'TField'
[C++ Error] Unit1.cpp(42): E2027 Must take address of a memory location

33K
18 ноября 2010 года
hivewarrior
205 / / 16.11.2010
GetData а не GetValue, сам бы глянул, какие члены у TField'а, я то по памяти пишу.
48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
в DataSource есть событие - OnDataChange -Событие при перемещении по датасету, но если туда поместить этот код Edit1->Text = IntToStr(Form1->ADOTable1->Fields->FieldByName("id")->AsInteger);
то жалуется, чтне может найти поле id
11
18 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
а еще у него есть событие OnScroll - срабатывает при прокрутке (при изменении позиции курсора), а DataChange срабатывает когда данные изменяются, т.е. в вашем случае при вызове Edit/Post. При прокрутке они не меняются.
33K
18 ноября 2010 года
hivewarrior
205 / / 16.11.2010
Цитата: oxotnik333
а еще у него есть событие OnScroll - срабатывает при прокрутке (при изменении позиции курсора)


А случаем ОнСкролл срабатывает не на прокрутке скроллбара?
Алсо, что-то у меня нет этого события, только что глянул. Конечно, BCB6 и все такое.

48K
18 ноября 2010 года
Tankro
32 / / 13.11.2010
Всем спсибо, разобрался, использовал ADOQuery1
11
18 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
У T...Table есть это - обшибся
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог