![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
А бывают гриды с КАЛЬКУЛИРУЕМЫМИ КОЛОНКАМИ? [D7, MSSQL]
BlackTiger © (2002-12-30 13:55:00)Я имею ввиду такую вэсч
Есть результат запроса (допустим, нехилый по времени выполнения).
Теперь пользователь должен иметь возможность получить колонку, содержащую какую-либо формулу по полям из результата, при этом формулу задает он сам.
Можно ли в какой-нибудь грид запихать новую колонку с формулой типа
xxDBGrid.Column["NewCalcColumn"].Formula := "[Field 1]+[Field 2]*100";
Здесь, конечно, нужны парсеры выражений.
Но может можно замутить аналог стандартными средствами?
Или сделать "запрос к запросу"?
Подскажите, если не трудно.
BlackTiger (2002-12-30 14:30:00) [21]Эхххх, господа, господа...
Вы анализ проекта и техзадание тоже так же читаете?
Если да, то какие вы нафиг программеры! (Никого не хочу обидеть, но посту не-по-делу)
Есть ДВА условия
1. ПОЛЬЗОВАТЕЛЬ САМ ОПРЕДЕЛЯЕТ ФОРМУЛУ
2. ЗАПРОС "ДОЛГОГО ВЫПОЛНЕНИЯ" и каждый раз его вызывать - "жирно будет"
Я хочу использовать fkCalculated, но формулу задавать ДИНАМИЧЕСКИ (как ее передать - это другой вопрос).
Интересно, а вот есть ли такие DB-парсеры (freeware, желательно), которым можно передать Fields текущей записи и текст формулы, а они вернут мне результат?
dimis (2002-12-30 14:15:00) [22]в этом случае проше всего самому составлять запрос
(SQL.ADD)
проблема мне видится в том чтобы пользователю было удобно вводить формулы
Alexandr (2002-12-30 14:09:00) [23]вы исходный пост читали?
Вникли в суть вопроса?
А чего ж тогда ерунду всякую пишете?
sniknik (2002-12-30 14:08:00) [24]В самом MSSQL можно кальк поле сделать
CREATE TABLE mytable
(
low int,
high int,
myavg AS (low + high)/2
)
не пойдет?
asmith (2002-12-30 14:05:00) [25]MSSQL сам позволяет создавать вычисляемые поля при, см. BOL, CREATE TABLE
Alexandr (2002-12-30 14:01:00) [26]6) Лучший грид - excel
Alexandr (2002-12-30 14:00:00) [27]1) Грид только отображает данные.
2) Данные беруться у DataSet к которому через dataSource привязан твой грид
3) У dataSet есть вычисляемые поля.
4) Для вычисляемого поля можно прикрутить вычислитель формул.
5) Если данные долго выбираются, а нужны постояно , т.е. часто обновлять их нет необходимости, то их можно временно хранить в другой таблице - хоть в БД, хоть локально в каком-нибудь TMemTable.
Delirium^.Tremens (2002-12-30 13:58:00) [28]двойной клик на ..DataSet.. NEW - Calculated