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

Вниз

сумма в dbgrideh.footers   Найти похожие ветки 

 
alienka   (2003-12-10 09:24) [0]

Сумма видна только в процессе разработки :(
Если писать кодом во всяких событиях - не помогает. Пробовала и в dbgrid-вских событиях и в формовых.
Что делать, где копать дальше?


 
Johnmen   (2003-12-10 09:26) [1]

Active у SumList = True ?


 
alienka   (2003-12-10 09:28) [2]

Да, конечно.


 
Johnmen   (2003-12-10 09:29) [3]

Да, кстати, надо не в футерсах прописывать, а в свойстве футер для колонки.


 
Bless   (2003-12-10 09:30) [4]

Кодом писать не надо.
Надо, кажется, поставить свойство(published) DBGridEh.sumlist.active:=true


 
alienka   (2003-12-10 09:33) [5]

DBGridEh2.SumList.Active:=true;
DBGridEh2.Columns[0].Footers.add;
DBGridEh2.Columns[0].Footers[5].ValueType:=fvtSum;


кусочек кода..


 
alienka   (2003-12-10 09:35) [6]

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


 
Johnmen   (2003-12-10 09:42) [7]

Я что-то не уловил, в дизайне прописываем или динамичкески создаем ?


 
Bless   (2003-12-10 09:43) [8]

>DBGridEh2.Columns[0].Footers[5].ValueType:=fvtSum;

У тебя 6 футеров, или это опечатка?


 
alienka   (2003-12-10 09:46) [9]

Пробовала делать и в дизайне, и динамически - поочередно. Результат одинаковый - пусто.
6 футеров - опечатка :)


 
Johnmen   (2003-12-10 09:48) [10]

DBGridEh2.Columns[x].Footer.ValueType:=...


 
Bless   (2003-12-10 09:52) [11]

Если у тебя один футер, то попробуй так:
удалить все из column[i].footerS
и column[i].valueType:=fvtSum


 
Bless   (2003-12-10 09:54) [12]

>и column[i].valueType:=fvtSum

sorry

column[i].Footer.valueType:=fvtSum


 
TohaNik   (2003-12-10 10:08) [13]

Если не выставлен то в дизайне FooterRowCount = 1 (если 1 футер нужен).

Ну а программно GridEh.Columns[].Footers[].Collection.Add ну это
для специфических случаев:)


 
alienka   (2003-12-10 10:24) [14]

Все это я уже испробовала раньше. Еще раз попыталась, дословно:
dbgrideh2.FooterRowCount:=1;
dbgrideh2.Columns[0].Footers.add;
dbGridEh2.Columns[0].Footers[0].Collection.Add;
dbgrideh2.SumList.Active:=true;
dbgrideh2.columns[0].Footer.valueType:=fvtSum;


результат тот же :(


 
Johnmen   (2003-12-10 10:35) [15]

первые 3 строки не нужны
и почему бы в дизайне не прописать необходимое ?


 
Bless   (2003-12-10 10:48) [16]

>первые 3 строки не нужны

Угу. И если в footers что-то уже есть - удали.


 
alienka   (2003-12-10 10:50) [17]

Нет, ну я конечно понимаю принцип: если делаю в дизайне, то в ран-тайм ничего не пишу. И наоборот. Просто, повторюсь, оба способа одинаково неудачно проходят - поля в режиме выполнения пустые. Если хотите, сделаю тестовый проект и кому-нибудь по почте брошу.


 
Bless   (2003-12-10 10:56) [18]

>Если хотите, сделаю тестовый проект и кому-нибудь по почте брошу.
Давай. Только сожми, плз. bless@zeos.net


 
Johnmen   (2003-12-10 11:02) [19]

>alienka

Бросай. Я до понедельника совершенно свободен...:)


 
alienka   (2003-12-10 16:08) [20]

Ура! :)
Сумма получилась. Вот код:
(Все создавалось ран-тайм)

with dbgrideh3 do begin
columns[0].Footers.add;
columns[0].Footers[0].Collection.add;


procedure TForm1.DBGridEh3GetFooterParams(Sender: TObject; DataCol,
Row: Integer; Column: TColumnEh; AFont: TFont; var Background: TColor;
var Alignment: TAlignment; State: TGridDrawState; var Text: String);
begin
dbgrideh3.columns[0].footers[0].ValueType:=fvtSum;
end;


Значит это у меня ручки корявые, раз с первого раза не смогла вашим советам внять :)


 
Johnmen   (2003-12-10 16:31) [21]

>alienka (10.12.03 16:08)

Так разве не проще ?
DBGridEh3.Columns[0].Footer.ValueType:=fvtSum;


 
alienka   (2003-12-10 16:46) [22]

to Johnmen: исправила на эту строчку - сумма пропала...


 
Johnmen   (2003-12-10 17:02) [23]

>alienka (10.12.03 16:46)

+
DBGridEh1.SumList.RecalcAll;


 
Johnmen   (2003-12-10 17:12) [24]

>alienka

Попробовал... Даже без [23] все работает...:)


 
alienka   (2003-12-10 17:22) [25]

Все таки руки-крюки у меня. По новой все набрала - заработало.

А с полученным результатом в footer оперировать как-нибудь можно?


 
Johnmen   (2003-12-10 17:31) [26]

Можно.


 
TohaNik   (2003-12-10 17:36) [27]

Можно.
DBGridEh1.SumList.SumCollection[i].SumValue;

PS: Хорошо что получилось, но в ран-тайме это делать наверное не стоит. Динамически футеры можно созданать например для промежуточных итогов, а для твоей задачи достатоно всего три ввойства выставить в дизайне-
FooterRowCount = 1 грид изменится немного
SumList->Active = true
и на колумне нужном Footer->ValueType = fvtSum и все.
Если не заработает то ?????


 
alienka   (2003-12-10 18:01) [28]

Спасибо! Получила значение при помощи dbgrid.columns[i].footers[i].Value;
А в дизайне футеры почему-то не создаются, но я попытаюсь, вспоминая как не получалось и с ран-таймом поначалу...



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

Форум: "Базы";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.012 c
1-25371
]eRoR_rrr[
2003-12-25 11:47
2004.01.09
RichEdit


4-25655
SergeySEM
2003-11-06 13:34
2004.01.09
hint у


1-25327
Ega23
2003-12-22 15:43
2004.01.09
Как в message указатель засунуть?


3-25256
PaveLL
2003-12-10 13:28
2004.01.09
sql


14-25563
Сатир
2003-12-18 13:15
2004.01.09
System Tray Trouble





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