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

Вниз

DBGrid->Columns   Найти похожие ветки 

 
lorn   (2006-10-06 16:16) [0]

вопрос детский но догнать не могу
есть DBGrid заполняемый из запроса и надо узнать скока у него колонок
если кто может дайте плиз пару строк кода


 
clickmaker ©   (2006-10-06 16:17) [1]

число колонок = число полей


 
Desdechado ©   (2006-10-06 16:20) [2]

> число колонок = число полей
Далеко не факт. Это правда только для случаев, если в квери нет persistentfields + если в гриде нет persistent columns + если у полей Visible=True + если у колонок Visible=True.
При нарушении любого из условий число колонок можно узнать у грида так
Grid.Columns.Count, но помнить при этом, что в этом списке могут быть и невидимые.


 
lorn   (2006-10-06 16:29) [3]

не совсем догнал
а как узнать (число) только отображаемые (видимые)колонки  у dbgrid"а


 
clickmaker ©   (2006-10-06 16:34) [4]

у колонки есть св-во Visible


 
lorn   (2006-10-09 11:35) [5]

всётаки как?


 
Elen ©   (2006-10-09 11:47) [6]


> lorn

DBGrid1.Columns.Count
Только мне кажется что нужно тебе юзать датасет этого грида
DBGrid1.DataSource.DataSet.Fields.Count
Ну ты понял, Да? ;-)


 
lorn   (2006-10-09 11:59) [7]

не Elen не проходит
всё равно показывает кол-во колонок сколько в запросе
(делаю sql -celect col1,col2 from table - потом в гриде visible делаю только у одного поля- а всё равно кажет 2 поля)


 
Desdechado ©   (2006-10-09 12:01) [8]

> а всё равно кажет 2 поля
барабашка кажет?


 
Elen ©   (2006-10-09 12:06) [9]


> sql -celect col1,col2 from table

Вах! Это Суперсовременный SQL? Круто - я тоже так хачу, панымаещь

> lorn

Select * from basa. Далее смотриш сколько колонок...


 
Elen ©   (2006-10-09 12:09) [10]


> lorn

А тебе нужно сколько колонок на экране?

var e,i:byte;
begin
//********* FOR ******************
e:=0;
for i :=0  to   DBGrid1.Columns.Count-1  do
begin
 if   DBGrid1.Columns[i].Visible then inc(e);
end;
//******* END FOR ****************

end;


 
Desdechado ©   (2006-10-09 12:17) [11]

> var e,i:byte;
Не делай так. Byte для этих целей нафиг не нужен. Памяти так не сэкономишь, а проблем нажить можно. Да и Integer быстрее работает...


 
lorn   (2006-10-09 12:19) [12]

Elen спасибо


 
Elen ©   (2006-10-09 12:21) [13]


> Desdechado

Да я знаю, но byte пишется быстрее чем integer (лень по клаве лишний раз нажать) ;-)



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

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

Наверх




Память: 0.49 MB
Время: 0.034 c
3-1156223726
northling
2006-08-22 09:15
2006.10.22
Ошибка при работе с параметрами Firebird 1.5


2-1160119374
dima_kds
2006-10-06 11:22
2006.10.22
ADOQuery в DBF


5-1141134254
Plotnick
2006-02-28 16:44
2006.10.22
Не инициализируются переменные в конструкторе


15-1159726751
HITMAN
2006-10-01 22:19
2006.10.22
Один файл!!!


4-1149705903
Sam Stone
2006-06-07 22:45
2006.10.22
Планировщик заданий