Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DBGrid и DBEdit на дном экране(добавление записи), добавление новой записи в DBGrid 
:(
    Опции темы
osmus
Дата 21.7.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 12.6.2008

Репутация: нет
Всего: нет



Здравствуйте! Может вопрос примитивен, но:

Имеется форма на ней таблица(DBGrid), на той же форме имеется DBEdit для добавление новой записи. 
Кнопка 'Добавить запись':
Код

  ADOGarages->Append(); 
  DBGrid1->SetFocus(); 
  GroupBox1->Visible = true;


На  GroupBox1 находятся все DBEdit. 

Проблема:
При нажатии на кнопку все нормально появляется GroupBox1 с пустыми DBEdit. при перемещении фокуса на один изи DBEdit-тов они заполняются последней строкой DBGrid1.
Подскажите как этого избежать.
PM MAIL   Вверх
Palladin
Дата 21.7.2008, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Это потому что между твоим дбгридом и дбэдитами установлена связь
на обрбаотчик DBGridCellClick задисабли свои конекты DBEdit-ов, а когда надо добавить, т.е. на DBEdit или еще куда заенаблиш smile 
P.S. смысл какой в этих DBEdita-x, если надо сделать добавление на однйо форме с DBGrid, может сразу в DBGrid и добавлять smile 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
osmus
Дата 22.7.2008, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 12.6.2008

Репутация: нет
Всего: нет



Я извиняюсь. А можно чуть по понятней.
 
PM MAIL   Вверх
Palladin
Дата 22.7.2008, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 932
Регистрация: 15.5.2007
Где: Беларусь г.Гомель

Репутация: 3
Всего: 17



Немного не то что я написал, не понял задачи, вообщем юазй так:
1) Свои DBEdit-ы кинь куданить и Visible=false; сделай
2) Вместо них, в свой групбокс, кинь обычные Edit-ы
3) При нажатии на кнопку добавить, пиши код:
Код

GroupBox1->Visible = true;

все остальнео из обработчика убери
4) НЕпосредственно на кнопку "Ок" или хз что там у тебя, вообщем на ту кнопку котоую ты будешь жать после ввода новой записи
пиши код:
НЕвкурсе сколько у тебя DBEdit, поэтмоу к примеру 3, ты эти 3 дбедита скрыл(Visible=false) а на их место кинул обычные едиты, тоже 3 значит.
Код

ADOGarages->Append(); 
DBGrid1->SetFocus(); 
DBEdit1->Text=Edit1->Text;
DBEdit2->Text=Edit2->Text;
DBEdit3->Text=Edit3->Text;
.........................................................
ADOGarages->Post();


P.S. Твоя проблема происходит из-за фокуса, вообщем ты добавляешь пустую строку в таблицу, а как только кликаешь по своему дбедиту в групбоксе, фокус уходит, врубается стандартная функция очистки, и твое поле удаляется, а поскольку апенд добавляет в конец таблицы, происходит сдвиг и в твоих дбедитах левая инфа. То что я написал выше, поможет обойти эту траблу, однако это кустарный метод... smile  smile  smile 


--------------------
Глуп тот кто полагается на истину авторитета, а не на авторитет истины
[color=red]KAV&KIS==Evil[/color]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.