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

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



Память: 0.5 MB
Время: 0.017 c
14-16655
GRAND
2004-01-13 16:49
2004.02.06
Инструкция по охране труда


3-16034
ДЕД
2004-01-13 13:10
2004.02.06
Память при вычислениях


14-16714
Daniel
2004-01-18 00:11
2004.02.06
Техническое Задание: содержание, форма...


4-16818
ravennsk
2003-11-27 14:54
2004.02.06
блокировка процессов


3-16058
Ega23
2004-01-12 10:57
2004.02.06
Настройка Query Analyzer




   Наверх