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