| imho.ws |
![]() |
|
|
|
# 1 |
|
Full Member
Регистрация: 30.04.2002
Сообщения: 1 419
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Работа с BDE и её компонентами
Создал таблицу (Paradox). Накидал на форму DBComboBox и DBEdit'ов. Связал их с таблицей. Но есть проблемв:
- при запуске формы в DBComboBox'е появляется текст (последняя запись в соответсующем ему поле таблицы). Хотелось бы что бы DBComboBox при запуске был пустой, только список из полей таблицы; - все DBEdit'ы почему-то не дают ввести текст - курсор становиться, а ввести что-либо нет возможности. |
|
|
|
|
# 3 |
|
Full Member
Регистрация: 30.04.2002
Сообщения: 1 419
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
dyr_farot
Всё сделал. Всё норально. Проблема в том, что при запуске формы в DBComboBox лезет последняя запись из ассоциированного столбца таблмцы. При запуске вписать пустую строку можно. Но, есть вероярность, что потом она (пустая строка) запишится в таблицу. И вообще это как-то не корректно (IMHO). Видимо принимать последнюю запись из таблицы как-то забито в свойство DBComboBox. Вот как это отиенить или заменить? |
|
|
|
|
# 4 |
|
Advanced Member
Регистрация: 23.08.2003
Сообщения: 442
![]() ![]() |
не впишется она. а заменить... это нужно наследника от TCustomComboBox писать и пепрписать все методы TDBComboBox. потому как установка текста в нем зашита:
Код:
procedure TDBComboBox.DataChange(Sender: TObject);
begin
if not (Style = csSimple) and DroppedDown then Exit;
if FDataLink.Field <> nil then
SetComboText(FDataLink.Field.Text)
else
if csDesigning in ComponentState then
SetComboText(Name)
else
SetComboText('');
end;
|
|
|