Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.08;
Скачать: CL | DM;

Вниз

Пустая строка в DBGrid   Найти похожие ветки 

 
Alex9801   (2002-07-18 11:14) [0]

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


 
Alexandr ©   (2002-07-18 11:17) [1]

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


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

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


 
Alex9801   (2002-07-18 12:18) [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 или "" !!! Потому что в последнем случае могут быть непустые поля не показанные в гриде.
Неужели все смирились с этой ситуацией, а?


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

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


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

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



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

Текущий архив: 2002.08.08;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-24001
Helg
2002-07-28 09:39
2002.08.08
Как перехватывать обработчики ошибок?


6-24139
soho
2002-05-25 18:00
2002.08.08
Сетевой принтер


1-24098
V.Turecky
2002-07-26 15:23
2002.08.08
Загрузка из DLL ICO файла...


1-24049
newUser
2002-07-25 13:26
2002.08.08
Lockfile


7-24256
Посетитель
2002-05-24 14:52
2002.08.08
Как приостановить Shutdown компа