Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.02.2010, 21:49
refoxt refoxt вне форума
Прохожий
 
Регистрация: 25.02.2010
Сообщения: 5
Репутация: 10
Смущение Помогите с DBGrid

Во общем проблема в следующем:

У меня есть главная форма, на ней располагается DBGrid, заносятся некоторые данные из БД при запуске приложения.

Так же на форме присутствует кнопкочка "Изменить"
При нажатии на оную открывается (ShowModal()) еще одна форма, в которой реализуется возможность изменить данные таблицы БД (данные соответствуют выделенной строке в DBGrid на главной форме)

Проблема в том, как мне обновить содержимое DBGrid на главной форме,
ПРИ НАЖАТИИ butOK на Второй форме.


На данный момент определил глобальную переменную, и при нажати на butOk перевожу её в True

А в главной форме при событии OnMouseMove
DBGrid1.DataSource.DataSet.Close;
DBGrid1.DataSource.DataSet.Open;

вроде работает но мне не нравится хочется что нить более элегантного

Помогите пжлуста
Редактировать/Удалить сообщение
Ответить с цитированием
  #2  
Старый 26.02.2010, 00:08
Kapitoshka438 Kapitoshka438 вне форума
Начинающий
 
Регистрация: 09.11.2009
Сообщения: 145
Репутация: 238
По умолчанию

Я надеюсь, и DBGrid на первой форме, и поля на второй форме ссылаются на данные из одного и того же объекта TTable (или что там у вас не знаю). Если так, то вам достаточно при появлении второй формы его нужно перевести в режим редактирования, т.е. вызвать метод Edit, а при нажатии на кнопку OK второй формы, вызвать метод Post. При этом DBGrid должен обновится самостоятельно. А еще при этом я надеюсь, что вы во второй форме используете такие компоненты, как DBEdit, DBLabel и т.д.
Ответить с цитированием
  #3  
Старый 26.02.2010, 02:36
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Цитата:
Сообщение от Kapitoshka438
А в главной форме при событии OnMouseMove
DBGrid1.DataSource.DataSet.Close;
DBGrid1.DataSource.DataSet.Open;

На самом деле очень жесткое решение, обновлять таблицу при перемещении мышки, ты будешь двигать мышкой по форме, и в этот момент будет сервер подвисать)

Вообще, насколько я помню, если ты все правильно сделал, правильно связи установил, то данные должны автоматически обновляться в визуальных компонентах.
Ответить с цитированием
  #4  
Старый 26.02.2010, 09:16
refoxt refoxt вне форума
Прохожий
 
Регистрация: 25.02.2010
Сообщения: 5
Репутация: 10
Радость

ммм немного понятно стало что не так сделал

И мое решение не такое и жесткое при перемещении мышью если переменная status := true идет обновление DBGrid, иначе ничего не происходит

Счас попробую все через DBedit и тп. сделать
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:58.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter