Главная страница
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.014 c
14-24191
Lola
2002-07-12 13:29
2002.08.08
---|Ветка была без названия|---


7-24255
OK
2002-05-22 17:10
2002.08.08
Как узнать ассоцированные с неким расширением файлов проги


4-24259
Danger
2002-05-31 00:17
2002.08.08
Как установить дату


3-23906
BAY
2002-07-18 05:23
2002.08.08
Interbase


14-24236
MAN-IN-RED
2002-07-15 13:15
2002.08.08
Компилирую чистую форму а Delphi говорит что не найден system.pas