Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Пустая строка в DBGrid [D5, D6]


Alex9801 ©   (2002-07-18 11:14:00) 

Здравствуйте.
Есть открытый DataSet, не содержащий ни одной записи. И есть связанный с ним DBGrid. Что нужно сделать, чтобы DBGrid НЕ отображал одну пустую строку?


Viewer   (2002-07-18 14:01:00) [1]

Закрывай датасет после проверки на = 0


mike kouzmine   (2002-07-18 13:55:00) [2]

А что тут смиряться. Раз пусто, значит данных нет. Можешь изменить рисование DBGrid
if dbgrid.datasource.dataset.recordcount = 0 then
dbgrid.canvas. и т.д.


Alex9801   (2002-07-18 12:18:00) [3]

Попробую еще раз объяснить ситуацию. Есть некий DataSet - TQuery, TClientDataSet, TAdoStoredProc, ... в общем любой. Он открыт, т.е. Active=True и содержит НОЛЬ записей, т.е. RecordCount = 0. Почему так - причин может быть много: действительно пустая таблица, в условиях Where не отобралось ни одной записи, наложен фильтр (в клиенте) скрывший все записи... DataSet может позволять добавлять в него новые записи, а может быть вообще ReadOnly. А DBGrid при этом отображает ОДНУ ПУСТУЮ СТРОКУ.

Теперь насчет "так принято": Access отображает пустую строку в НД только в том случае, если в этот НД можно записи ДОБАВЛЯТЬ (причем вне зависимости от кол-ва имеющихся записей!!!) и она всегда выделена звездочкой: "*"; если НД ReadOnly, то ее она не показывается. PowerBuilder в DataWindow показывает пустую строку, только после явноко вызова DataWindow.Append и при этом RowCount >= 1 становится автоматически.
Для меня ситуация, когда DataSet содержит 0 записей не может отождествляться с ситуацией когда он содержит 1 запись в которой все видимые поля = NULL или "" !!! Потому что в последнем случае могут быть непустые поля не показанные в гриде.
Неужели все смирились с этой ситуацией, а?


Evgeny7   (2002-07-18 11:31:00) [4]

А ты сделай так чтобы появлялась запись, например "Введите данные", которая будет появлятся при новом добавлении записи, или если у тебя вообще пустая таблица.


Alexandr   (2002-07-18 11:17:00) [5]

вообще-то так принято.
А если хочешь по-другому, то извращаться надо...


Наверх

Титульная страница Поиск, карта сайта Написать письмо