Форум: "Базы";
Текущий архив: 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