Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Вниз

Как обновить програмно данные в TDBGrid после изменения данныхю.   Найти похожие ветки 

 
FShadow   (2005-11-29 16:57) [0]

Есть на главной форме TDBGrid в котором отображается некий набор данных. При добавлении записи появляется форма в которой вносятся данные. После закрытия этой формы данные в TDBGrid на главной форме должны обновиться.

Как это сделать?


 
Ega23 ©   (2005-11-29 16:59) [1]

Refresh набора данных, на который смотрит DBGrid. В простейшем случае:

With DBGrid.DataSource.DataSet do
begin
 Close;
 Open;
end;


 
FShadow   (2005-11-29 17:26) [2]

>Ega23
Не работает.

Опишу более подробно. На главной форме расположены TreeView и DBGrid.
По OnChange в TreeView отправляется запрос в БД для отображения данных в DBGrid. Так работает главная форма. И вот я добавляю данные в БД в новой форме. Закрываю ее пеерестраиваю TreeView и обновляю данные в DBGrid. Но они не обновляются хотя в БД изменения внесены. Если в TreeView перейти на др. ветку и вернуться назад то данные уже отображаются как надо.
Вот в чем вопрос.


 
Ega23 ©   (2005-11-29 17:29) [3]


> Но они не обновляются хотя в БД изменения внесены.


Так не бывает.
Может ты не спозиционировал набор данных?


 
FShadow   (2005-11-29 17:35) [4]

Что значит не спозиционировал? Можно подробнее.


 
Ega23 ©   (2005-11-29 17:36) [5]

Ну Locate сделал на нужную запись?


 
Ega23 ©   (2005-11-29 17:36) [6]

В смысле, НЕ сделал...


 
FShadow   (2005-11-29 17:45) [7]

В TreeView отображается одна таблица из БД а в DBGrid другая. связаны они по полю EmpID, т.е. при OnChange происходит выборка всех записей для DBGrid у которых EmpID совпадает с TreeView.Data. Зачем здесь Locate?


 
Ega23 ©   (2005-11-29 17:56) [8]

А, понял.
Вызови принудительно OnChange у TreeView.


 
FShadow   (2005-11-29 17:59) [9]

А что в качестве Sender:TObject  в нее заслать?


 
Ega23 ©   (2005-11-29 18:06) [10]

Ну если в твоём обработчике Sender не используется, то nil.


 
FShadow   (2005-11-29 22:27) [11]

Спасибо!


 
Sergey13 ©   (2005-11-30 09:18) [12]

2 FShadow
Просто ты наверное данные вносишь не только на отдельной форме, но и минуя датасет. Естественно его после этого надо обновлять. Если вносить через датасет, то эта "проблема" исчезнет.


 
Morgoth_   (2005-11-30 11:48) [13]

не вижу смысла тут же перечитывать дерево из таблицы, просто добавляешь в таблицу данные, рисуешь элемент в дереве, проставляешь ему data и пытаешься получить данные в другой таблице по этой Data, если они есть.
Зачем лишняя перечитка структуры дерева?


 
Ega23 ©   (2005-11-30 12:45) [14]


> не вижу смысла тут же перечитывать дерево из таблицы, просто
> добавляешь в таблицу данные, рисуешь элемент в дереве, проставляешь
> ему data и пытаешься получить данные в другой таблице по
> этой Data, если они есть.
> Зачем лишняя перечитка структуры дерева?
>


Действительно! И зачем вообще БД нужна? Хреначь всё в текстовые файлы - удобно и бесплатно. И послмотреть можно. Блокнотом.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.018 c
14-1133098896
Alexis
2005-11-27 16:41
2005.12.18
На borland.com только Delphi 2005 .NET?


2-1133309980
Toxa_ua
2005-11-30 03:19
2005.12.18
OpenDialog -->†


6-1126245093
Tor
2005-09-09 09:51
2005.12.18
Получение данных через TCP соединение


3-1131005142
nstur
2005-11-03 11:05
2005.12.18
Запросы в Access


14-1132695161
Separator
2005-11-23 00:32
2005.12.18
Протокол работы gTalk





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский