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

Вниз

Как узнать колличество записей в DBGrid?   Найти похожие ветки 

 
Dennis I. Komarov ©   (2009-07-03 12:42) [40]

что бы два раза ее не писать смотрим TDataSet.Eof + F1, даже с примером...
ЗЫ
 Это если тонкие намеки на for никчему не приводят...


 
Neket   (2009-07-03 12:48) [41]

Вот так в итоге получилось так:

with form5 do
begin
For i:=0 to dbgrid1.FieldCount-1 do
begin
razm:=DBGrid1.Canvas.TextWidth(DBGrid1.Columns[i].FieldName);
DataSource1.dataset.DisableControls;
 while not DataSource1.dataset.eof do
 begin
 str:=DataSource1.DataSet.FieldByName(DBGrid1.Columns[i].FieldName).AsString;
 Razmtp:=DBGrid1.Canvas.TextWidth(str);
 if razmtp>=razm then razm:=razmtp;
 DataSource1.dataset.next;
 end;
DataSource1.dataset.First;
DataSource1.dataset.EnableControls;
DBGrid1.Columns[i].Width:=razm+6;
end;
end;


 
Dennis I. Komarov ©   (2009-07-03 12:51) [42]

а с [36] что делать будем?


 
Ega23 ©   (2009-07-03 12:53) [43]


> Вот так в итоге получилось так:


1. with form5 do  - за такое выдернуть ноги. По самые уши.
2. Циклы поменять местами. Вдруг у тебя НД пустой?


 
Dennis I. Komarov ©   (2009-07-03 13:00) [44]


> выдернуть ноги. По самые уши

погоди, не время еще :)


 
Плохиш ©   (2009-07-03 13:01) [45]


> with form5 do
>

дальше читать не стал.


 
Dennis I. Komarov ©   (2009-07-03 13:02) [46]


> Циклы поменять местами. Вдруг у тебя НД пустой?

Ну что ты в самом деле, надо так:
Пусть в DataSet 10000 записей... ;)


 
Neket   (2009-07-03 13:11) [47]

Отвечаю сначало на > with form5 do - Я делаю это все из другой формы. Как тогда правельно?

второе протестированое на 26746 записей и 8 столбцов работает неощутимо по времени.
И я ещё раз говорю если вам мой вариант ненравиться тогда я с удовольствием выслушаю ваш вариант.
P.S.
Вариант с фиксированной длиной столбцов непредлогать так как их число динамическое.


 
Neket   (2009-07-03 13:11) [48]


> Dennis I. Komarov ©   (03.07.09 12:51) [42]


тогда подбирать для другого ширфта значения


 
Dennis I. Komarov ©   (2009-07-03 13:20) [49]


> тогда подбирать для другого ширфта значения

Ну если ты продашь (отдашь и т.п.) некой тете Дусе, не думаешь же что она будет подбирать и тем более компилить заного. А если на одном компе работают разные люди с разными настройками среды? .........


> второе протестированое на 26746 записей и 8 столбцов работает
> неощутимо по времени.

А теперь посмотри как пошагово проходит процесс и как это можно улучшить


> И я ещё раз говорю если вам мой вариант ненравиться тогда
> я с удовольствием выслушаю ваш вариант.

А вот этого не надо... Программа нужна тебе а не кому-либо, поэтому писать тебе, а нам подсказывать...


 
Ega23 ©   (2009-07-03 13:25) [50]

Ну и, собственно, самое главное: такая "фича" не должна делаться автоматически.


 
Dennis I. Komarov ©   (2009-07-03 13:43) [51]


> Отвечаю сначало на > with form5 do - Я делаю это все из
> другой формы. Как тогда правельно?

А не модальной ли часом?


 
Dennis I. Komarov ©   (2009-07-03 16:27) [52]


> А не модальной ли часом?

Я про Форм5...



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

Форум: "Начинающим";
Текущий архив: 2009.08.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.006 c
15-1246195055
Юрий
2009-06-28 17:17
2009.08.30
С днем рождения ! 28 июня 2009 воскресенье


15-1246431478
pasha_golub
2009-07-01 10:57
2009.08.30
Как вызвать стандартный property editor для свойства?


2-1246026729
Vayrus
2009-06-26 18:32
2009.08.30
Проблема с GetKeyDateTime в Win XP


1-1212668728
Sha
2008-06-05 16:25
2009.08.30
Насколько адекватен SizeOf


4-1212749135
Red_imp
2008-06-06 14:45
2009.08.30
Блокировка клавиатуры + мыши под Win XP





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский