Форум: "Базы";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизАгрегатные поля в TDBF работаю? (+ походу глюки в TDBF...) Найти похожие ветки
← →
Rater (2005-12-12 13:08) [0]Что то у меня агрегатные поля в TDBF не считаются. В этом компоненте этот механиз вообще работает?
И ещё...
Если есть поле Calculated, то если в гриде присваивать значение полю (без edit/post), то на экране они отображаются либо в последнеей строке грида либо в первой (зависит от направления скроллинга). Вставку значений делал по OnKeyPress.
← →
ANB © (2005-12-12 14:38) [1]
> Вставку значений делал по OnKeyPress.
Вот отсюда и грабли
← →
Rater (2005-12-12 15:07) [2]Хм... а причём здесь это? (пробовал OnKeyUp эффект тот-же :)
Я так понимаю он когда обрабатывает событие onCalcFields он указатель передвигает а обратно не ставит.
В поле Calculated как правильно записывать значение?
← →
Tor © (2005-12-12 15:17) [3]в поля типа Calculated надо вешать олбработку на OnCalculate или onCalcFields кажись так или на OnGetText типа того
← →
Rater (2005-12-12 15:31) [4]Либо я чего-то не понимаю либо наследование у TDBF до конца не доведено.
Аггрегатный тип есть, а расчёт не идёт. Даже 0 не пишет.
Мне просто при вводе значений надо сумму по позиции считать (Calculated field)
и сумму по всем позициям (итого).
Вот с итого загвоздка...
если чтитать с помощью
while not dbf.eof do
begin
sum:=sum+dbf.field;
dbf.next;
end;
то по экрану всё поплывёт.
Гасить грид - тоже криво.
Как бы просуммировать записи так что-бы указатель не сдвигался?
← →
Sergey13 © (2005-12-12 15:44) [5]Поставь себе EhLib - овский грид. Ищи до версии 3.6, дальше он стал платным. Там это есть. Или отдельным запросом вытаскивай из БД эту сумму по всем позициям.
← →
ANB © (2005-12-12 15:45) [6]
> Аггрегатный тип есть,
Это какой ? Как ты его физическую реализацию представляешь ?
← →
Tor © (2005-12-12 15:47) [7]обработчики заводиш не на это поле а на те с которых данные береш. Ну на крайняк OnBeforeScrol не помню точно, тока надо проверки сделать что бы каждый раз не срабатывал.
Что бы укозатель на гриде не сдвигался что ли?
Есть сво-во которое отключает переход указателя что то типа того лень рыца в исходниках. Отруби грид потом снова подключи.
Больше фантазии.
← →
Rater © (2005-12-12 19:39) [8]Фантазию говоришь? :-)
Ну тогда берём StringGrid....
Немного упорства и поменьше лени и всё рулит!
(делал так уже... просто хотелось попробовать с dbGrid-ом и TDBF....
Видать не судьба)
← →
аматор © (2005-12-12 20:34) [9]Привет...
", а расчёт не идёт. Даже 0 не пишет." В EhLib для подсчёта надо пару свойств установить. (может в этом проблема: свойств не знаем в TDBF)...
← →
Rater © (2005-12-13 06:50) [10]
> аматор ©
В доке к TDBF ничего про аггрегатные поля нет, даже не упоминается.
В help к Дельфям смотрел...
Аггрегатное поле я делал так:
Двойной клик по TDBF
Add new field...
Вводим имя, type - Aggregate, Field type - Data
Устанавливаем свойство созданного поля Expression := "sum(fileldName2)"
Какие ещё свойства нужны??
← →
аматор © (2005-12-18 03:33) [11]А tablelevel > 4 может поможет (кажись это версия дбфника).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.059 c