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

Вниз

Очистка DBGRID-а   Найти похожие ветки 

 
Sirus   (2006-09-13 13:12) [0]

Подскажите, знатоки, как  очистить сетку DBGRID-а  от  введенных  данных.  Допустим  у  меня  есть  кнопка  на  форме Отменить и я хочу при нажатии  на  нее  убрать из  сетки  DBGRID-а  все  данные не  записывая их в данную. Подскажите примерный  код  такой  операции.
Благодарю за внимание.
Сайрус
13.09.2006


 
Некто_Аполло   (2006-09-13 13:15) [1]

DB_Grid прикреплен к таблице базы данных. Тебе нужно ее очистить.


 
Sergey13 ©   (2006-09-13 13:20) [2]

> [0] Sirus   (13.09.06 13:12)

Ты вроде давно уже сюда пишешь, но уровень вопросов так и не растет.

По сути - ты хочешь побрить зеркало. Нет в гриде данных.


 
Sirus   (2006-09-13 14:31) [3]

То, что данных  в  DBGRID-e нет - это я усвоил. Но  не зависимо от этого проблема остается. Можно сформулировать ее  иначе : как  очистить  экран  формы с DBGRID-ом, убрав  из  сетки все  введенные  данные, т.е. показать  пустой  DBGRID. Внятного  ответа я  не  получил, а  неконкретные  рассуждения  пролемы  не  решают. Кстати, в  таблицу  я  ничего  пока  не  ввожу, так  что  и  очищать   нечего. Мне  просто  надо  отменить  набранные  данные и  произвести  сопутствующие  этому  операции ( очистить сетку DBGRID-а).
С  уважением Сайрус
13.09.2006


 
StriderMan ©   (2006-09-13 14:34) [4]

очисть DataSet, прицепленный к этому гриду.


 
Elen ©   (2006-09-13 14:47) [5]


> StriderMan

TDataSet.Active:=false? не пойдет?


 
Sergey13 ©   (2006-09-13 14:50) [6]

> [3] Sirus   (13.09.06 14:31)

> Кстати, в  таблицу  я  ничего  пока  не  ввожу, так  что
> и  очищать   нечего.

А куда же ты вводишь, скрытный ты наш?


 
Virgo_Style ©   (2006-09-13 15:11) [7]

DataSet.Cancel, что ли?


 
Sirus   (2006-09-13 15:29) [8]

Пока  из  предложенного  ничего не  катит.  Выдает, что  методы   в  форме  не  поддерживаются.Так что вопрос не  такой  простой как кажется  кое-кому.  Может кто детальней объснит все  тонкости.
Сайрус.


 
Sergey13 ©   (2006-09-13 15:35) [9]

> [8] Sirus   (13.09.06 15:29)
> Может кто детальней объснит все  тонкости.
Это сложно, так как ты пока детально не объяснил что делаешь.


 
MsGuns ©   (2006-09-13 15:40) [10]

>Некто_Аполло   (13.09.06 13:15) [1]
>DB_Grid прикреплен к таблице базы данных.

Ну да, как штык к автомату.

>Тебе нужно ее очистить.

Замечательный совет ;)))

>Sirus   (13.09.06 15:29) [8]
>Пока  из  предложенного  ничего не  катит.  Выдает, что  методы   в  форме  не  поддерживаются.Так что вопрос не  такой  простой как кажется  кое-кому.  Может кто детальней объснит все  тонкости.
Сайрус.

Вопрос возник от непонимания сути организации работы с базами данных в Delphi

"Очитстить" грид можно многими способами, начиная от переоткрытия запроса с предикатом

 Where Field1<>Field1

и заканчивая простым отключением датасета от грида
DBGrid1.DataSource.DataSet := nil;

Главное же я так и не понял, зачем грид нужно ОЧИЩАТЬ ?

Если речь идет о заполнении некоторых документов (типа счета-фактуры) "с нуля", то для этого ГРИД очищать не надо, просто :
- либо открывется запрос на несуществующую детализацию мастер записи (если в таблицу заголовков счетов была только что добавлена новая запись, то в детал-таблице у нее не будет ни одной строки-записи и запрос вернет пустой НД), если надо вносить изменения в БД "по ходу" ввода информации (через кэш либо напрямую сразу)
- либо надо работать через компоненты, напрямую с БД не связанные, а "по кнопке" записывать отдельным запросом порцию изменений либо сразу весь документ с полной заменой старого содержимого.


 
MsGuns ©   (2006-09-13 15:42) [11]

>StriderMan ©   (13.09.06 14:34) [4]
>очисть DataSet, прицепленный к этому гриду.

Можно поподробнее ?

>Virgo_Style ©   (13.09.06 15:11) [7]
>DataSet.Cancel, что ли?

И что будет ?


 
Sirus   (2006-09-13 16:24) [12]

Спасибо  за предложенные  варианты, но все  страдают  одним  серьезным  недостатком. Отключая DBGRID от DataSet они  очищают  даже то, что  не  следует  убирать  (наименование  полей  таблицы ).  Получается  не  очень  красиво.
Сайрус.


 
MsGuns ©   (2006-09-13 16:30) [13]

>Sirus   (13.09.06 16:24) [12]
>Отключая DBGRID от DataSet они  очищают  даже то, что  не  следует  убирать  (наименование  полей  таблицы ).  Получается  не  очень  красиво.
Сайрус.

Поставьте заведомо ложный фильтр и будет вам пустой грид с шапкой. Только вот на вопрос а зачем это все ответ не получен.


 
Virgo_Style ©   (2006-09-13 17:06) [14]

MsGuns ©   (13.09.06 15:42) [11]
И что будет ?


В ответ на


> Кстати, в  таблицу  я  ничего  пока  не  ввожу, так  
> что  и  очищать   нечего.


телепатор предположил, что надо отменить то, что пользователь натворил в режиме редактирования, до post. Насколько мне известно, именно это и произошло бы.


 
Slym(RO)   (2006-09-14 10:36) [15]

LockType:=ltBatchOptimistic
CancelBatch
UpdateBatch


 
MsGuns ©   (2006-09-14 11:34) [16]

>Virgo_Style ©   (13.09.06 17:06) [14]
>телепатор предположил, что надо отменить то, что пользователь натворил в режиме редактирования, до post. Насколько мне известно, именно это и произошло бы.

Из сабжа явно следует, что надо очистить "грид", т.е. удалить (из буфера, из таблицы, с глаз долой - автор не удосужился пояснить, а наводящий вопрос и вовсе проигнорировал), и все введенные на сей момент записи. Коих может быть две, десяток, сотня... Т.е. методы над одной записью (к коим и относятся упомянутые Вами Post и Cancel) тут явно не при чем. Т.е. проблемы ни разу не решают.

Пока автор четко не скажет ЧТО ЕМУ НАДО СДЕЛАТЬ, дальнейшее обсуждение бессмыслено.


 
Virgo_Style ©   (2006-09-14 11:53) [17]

MsGuns ©   (14.09.06 11:34) [16]
Из сабжа явно следует, что надо

Sirus   (13.09.06 13:12)
очистить сетку DBGRID-а  от  введенных  данных
.

Поскольку очистка сетки от данных - это заведомо странная идея, каждый напрягает свою фантазию, как может.


> Пока автор четко не скажет ЧТО ЕМУ НАДО СДЕЛАТЬ,
> дальнейшее обсуждение бессмыслено.

Ну тогда, с Вашего позволения, дискуссию с Вами заканчиваю %-)


 
аматор ©   (2006-09-14 13:56) [18]

Привет...
Используйте таблицу в памяти, на диске. Потом заносите из той таблицы в базу че душа пожелает. Плюс, если используете сервеный вариант, ВААБЩЕ лафа. Еще, кажись, клиент датасет есть (это приблизительный перевод :)). Вариантов море. Но, очистить, :), мона перерисовать дбгрид. А вообще зачем в инете столько книг лежит? Да в клиет датасете есть фишка, дельтой обзывает, она показывает какие изменения вы произвели.


 
Anatoly Podgoretsky ©   (2006-09-14 19:23) [19]

MsGuns ©   (14.09.06 11:34) [16]
Пока автор четко не скажет ЧТО ЕМУ НАДО СДЕЛАТЬ, дальнейшее обсуждение бессмыслено.

Автор не скажет, как сказил он тут давно, но как будто и не приходил.



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

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

Наверх




Память: 0.5 MB
Время: 0.012 c
2-1158250956
ph0sgen
2006-09-14 20:22
2006.10.01
перевести тип с С++ на Delphi


1-1155876271
mefodiy
2006-08-18 08:44
2006.10.01
Автоматическое открытие ComboBox


8-1111069004
Slawan
2005-03-17 17:16
2006.10.01
Текстовая информация в JPEG...


2-1157101292
TrainerOfDolphins
2006-09-01 13:01
2006.10.01
Файл настроек Delfi


1-1156140355
5serg
2006-08-21 10:05
2006.10.01
Как зарегистрировать сервис в реестре Windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский