![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
В DBGrid есть 2 столбца (А, В). В столбец А находятся некоторые значения. Нужно создать столбец С, который бы отображал разницу столбцов А и В. Если например в ячейку столбца В вводятся те же значения что есть в ячейке столбца А, то они как бы взаимно уничтожаются (условно, т.к. в самих ячейках и в базе никаких изменений не происходит) а столбец С отображает результат этого (он также доложен находиться в БД как и остальные), как показано на рисунке. Если в ячейки столбца В вводятся какие-то посторонние значения, столбец С их игнорирует.
Помогите реализовать столбец С? |
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Вкратце:
Создайте вычисляемое поле и задайте для него соответствующую формулу. Ну и принудительно вызывайте метод OnCalcFields по OnKeyPress вашего дбгрида... Тогда столбец С будет моментально реагировать ![]() Не забудьте только сделать проверку содержимого столбцов А и В, чтоб они пустые не попадали на вычисление. А то нарветесь на эксепшн... |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
вот насчет задания соответствующей формулы... незнаю я как ее задать. вот в чем дело
|
![]() |
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
C:=A-B не знаете как задать???
Ничего себе... ![]() Код:
Последний раз редактировалось mihali4; 15.11.2009 в 01:19. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
В calculated field по-моему нужно это сделать таким образом?
Код:
|
![]() |
![]() |
![]() |
#6 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Именно так.
OnCalcFields обрабатывает отдельно каждую запись (строку) БД. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
Только вместо
Код:
Код:
Но в любом случае получается ошибка:Operator not applicable to this operand type. Получается что в вычисляемое поле я не могу занести данные такого типа которые хранятся в столбцах А и В? |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 14.11.2009
Сообщений: 56
|
![]() Цитата:
Мы чужды себе, мы, познающие, мы сами чужды себе
|
|
![]() |
![]() |
![]() |
#9 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вертикальное название столбцов в DBGrid | EugeneIsmatulin | Общие вопросы Delphi | 3 | 29.05.2009 08:58 |
Удаление столбцов в DBGrid-e | artemavd | БД в Delphi | 4 | 24.10.2008 14:30 |
Изменить названия - заглавия столбцов в DBGrid | Elena | БД в Delphi | 4 | 06.06.2007 11:31 |
Изменение размеров столбцов в DBGrid | Elena | БД в Delphi | 1 | 15.05.2007 11:41 |
Ширина столбцов в DBGrid | Elena | БД в Delphi | 1 | 27.04.2007 15:34 |