Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
3-23889
Ильдар
2002-07-17 14:13
2002.08.08
Извините за глупый вопрос.....


8-24130
Mixan
2002-03-30 13:52
2002.08.08
Как сделать бегущий вверх текст (титры) на фоне картинки?


6-24164
XobbuT
2002-05-25 19:54
2002.08.08
Уважаемые Мастера, помогите с вопросом: Как отловить входящие пак


14-24181
AL2002
2002-07-11 20:36
2002.08.08
Искусственный интеллект


3-23905
Oleg Oransky
2002-07-17 17:35
2002.08.08
ADOX - Create TABLE (FIELD1 INT NULL,FIELD2 INT NULL)




   Наверх