Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
3-1156767901
Shaman_
2006-08-28 16:25
2006.10.22
Отключить механизм кэширования у TClientDataSet


2-1159911738
NetRaven
2006-10-04 01:42
2006.10.22
Работа с датой


2-1159784860
TrainerOfDolphins
2006-10-02 14:27
2006.10.22
Указатель мыши над контролом...


2-1159870768
Alex_C
2006-10-03 14:19
2006.10.22
TPanel с возможностью копирования текста


4-1148422772
LiveSoft
2006-05-24 02:19
2006.10.22
Обратботка своего пункта меню





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский