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

Вниз

Как узнать колличество записей в 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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.014 c
2-1245711399
Снегурочка
2009-06-23 02:56
2009.08.30
Передача данных Tcp/ip


15-1245954371
Kerk
2009-06-25 22:26
2009.08.30
ICFP


15-1245995836
Ega23
2009-06-26 09:57
2009.08.30
Веб-дизайнеры есть?


2-1246522630
Varkan
2009-07-02 12:17
2009.08.30
IdTCPClient1+IdTCPserver1 передача - получение файла


10-1158414306
AAAA
2006-09-16 17:45
2009.08.30
TDCOMConnection. Создал