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

Вниз

Убрать пустую строку в DBGrid   Найти похожие ветки 

 
AMogil ©   (2004-01-10 11:49) [0]

Здравствуйте, уважаемые.

Если DbGrid подключен к dataset"у, в котором отсутсвуют записи, то у него появляется пустая строка. Как от этого избавиться?


 
Desdechado ©   (2004-01-10 12:37) [1]

от грида, от пустой строки или от отсутствующих записей?


 
AMogil ©   (2004-01-10 13:04) [2]

От пустой строки в гриде... Естественно...


 
bobtubob ©   (2004-01-10 13:09) [3]

скорей всего включён режим добавления новых строк и напротив этой строки светится звёздочка - строки как таковой нет тебе предлагают ввести данные когда ты находишся ниже последней EOF -в пустой последней нет!
Вот и выходит что тебе предлагают ввести данные


 
AMogil ©   (2004-01-10 13:12) [4]

Я пониамаю, что мой вопрос звучит по чайниковски... но редктировать строку никто не предлагает. И светиться там не "звездочка" а, блин, "треугольничек", т.е. State=bsBrowse


 
AMogil ©   (2004-01-10 13:16) [5]

А вот если начать вводить новые данные, тогда и поялвяется "звездочка", но можно ведь и сказать ReadOnly:=True гриду... и вообще уважаемый bobtubob это все-таки не ответ.
Но все равно спасибо... за внимание :-)


 
bobtubob ©   (2004-01-10 13:28) [6]

ели ты стоиш на первой пустой светится треугольник
Спускаешся ниже - звёздочка на второй строке!
Если так тогда таблица имеет пустую строку - возьми удали руками!


 
AMogil ©   (2004-01-10 13:39) [7]

Нет. Нужно немного другое. Представь что есть пустая таблица. DbGrid: ReadOnly:=True. При открытии формы с таким гридом наблюдается пустая строка. Так вот, как ее убрать. Т.е. чтобы при показе такого грида, присоедененного к пустой таблице наблюдались ьолбко заголовки колонок.


 
Vemer ©   (2004-01-10 14:03) [8]

Просто отключай DataSource когда .recordCount = 0.


 
Anatoly Podgoretsky ©   (2004-01-10 14:09) [9]

Фокус то куда ставить в таком гриде? Заголовки фокуса не принимают. Ну если очень хочешь иметь такой грид, то тебе надо делать свою реализацию.


 
AMogil ©   (2004-01-10 15:13) [10]

А в пустом гриде фокус и не нужен. Вставка записей не производится непосредственно в гриде


 
AMogil ©   (2004-01-10 15:14) [11]

Vemer: но и в этом случае пустая строка в гриде остается.


 
Vemer ©   (2004-01-10 15:16) [12]

Сорри, перепутал, "треугольник" исчезает. Надо или Датасет закрывать, иди DataSourse от Датасета отсоединять.


 
Vemer ©   (2004-01-10 15:17) [13]

В догонку - тоже не поможет, если в DBGrid колонки созданы...


 
Desdechado ©   (2004-01-10 15:18) [14]

а чем она мешает?


 
AMogil ©   (2004-01-10 17:23) [15]

Desdechado: кривостью. Нелогично. Таблица пуста - а грид показывает что есть пустая строка. Нам то это понятно, го вот пользователю, который смутно себе представляет работы БД нет.


 
AMogil ©   (2004-01-10 17:23) [16]

Desdechado: кривостью. Нелогично. Таблица пуста - а грид показывает что есть пустая строка. Нам то это понятно, но вот пользователю, который смутно себе представляет работы БД нет.


 
WithOut Any ... ©   (2004-01-10 18:39) [17]

Предварительно проверь как предложил
Vemer © (10.01.04 14:03) [8]
Просто отключай DataSource когда .recordCount = 0.

А дальше думай какое сообщение в этом случае выдать сообщение юзеру. А в "выкладывании" шанки грида без строк я, во всяком случае, не вижу никакого смысла


 
sniknik ©   (2004-01-10 19:05) [18]

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


 
AMogil ©   (2004-01-11 00:47) [19]

WithOut Any: не работает так. Похоже действительно есть только два варианта:
1. Anatoly Podgoretsky
2. sniknik. Но вот при пустом гриде OnDrawDataCell и OnDrawColumnCell не срабатывают. Так что же весь грид самому перерисовывать?


 
kaif ©   (2004-01-11 00:54) [20]

А ты в опциях грида отключи при пустом наборе:
goVertLines, goHorLines, goIndicator и titl-ы тоже. Я думаю тогда в гриде вообще нифига не останется и будет всем счастье и кайф полный. А вообще я тебя понимаю. Меня тоже эта фишка всегда раздражала в гриде. Хрен отличишь одну пустую запись от ни одной вообще.


 
AMogil ©   (2004-01-11 09:38) [21]

kaif: Вообще идея хорошая, отключать все что ты сказал ставить к тому же Enabled:=False и отрисвывать самостоятельно заголовки колонок


 
Polevi ©   (2004-01-11 12:12) [22]

да, юзеры порвыются туда напечатать что нибудь.
я немного подправил процедуру отрисовки


 
AMogil ©   (2004-01-11 13:14) [23]

Polevi
Как, если не секрет?


 
Polevi ©   (2004-01-11 14:13) [24]

procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
begin
...
...
if Datalink.RecordCount=0 then
RowHeights[FTitleOffset]:=-1
else
RowHeights[FTitleOffset]:=DefaultRowHeight;
...
...
end;



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

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

Наверх




Память: 0.52 MB
Время: 0.019 c
3-16029
Yurij-71@ukr.net
2004-01-16 17:39
2004.02.06
Счетчик в Парадокс


3-16062
_sulent
2004-01-12 14:08
2004.02.06
Помогите народ, пожалуйста


1-16472
Qwet
2004-01-27 19:50
2004.02.06
Активная программа или окно


14-16630
lipskiy
2004-01-14 00:29
2004.02.06
Как правильно пишется?


4-16786
closer
2003-12-02 16:15
2004.02.06
Закрытие таймера