Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2014, 19:39   #1
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию Как отфильтровать отображение данных в DbGridEh

Использую для отображения данных, компонент DbGridEh из библиотеки Ehlib.
После прочтения форума (в основном при разработке структуры БД опирался на высказывания Stilet) создал одну таблицу, где хранится все движение товара. Обрисую часть структуры таблицы, для простоты:
ID - счетчик
Data, - Дата
IDDOC, - ID документа (1 - приход, 8 - расход)
IDTOV, - ID товара в таблице товаров
KE - Количество товара
т.е. у меня там такие данные
1 | 01.01.2014 | 1 | 345 | 14,8
2 | 02.01.2014 | 8 | 345 | -1,6
и т.д.
Есть печатная форма документа установленного типа, которая поделена на 2 части (левая и правая) в левой части по датам надо показать только расход, а в правой части надо показывать только приход. При выборке при помощи Left join заполняются и левая и правая части. Подскажите как прорисовывать в DbGridEh по условию, если тип документа (IDDOC) 1 то рисовать слева, а если 8 то справа
вот так
tarakan1983 вне форума Ответить с цитированием
Старый 02.12.2014, 22:57   #2
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Можно на уровне запроса через case when в разные поля выбрать.
Vapaamies вне форума Ответить с цитированием
Старый 02.12.2014, 23:03   #3
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Цитата:
Сообщение от Vapaamies Посмотреть сообщение
Можно на уровне запроса через case when в разные поля выбрать.
Ну... я не большой спец в SQL. Можете помочь с кодом?
tarakan1983 вне форума Ответить с цитированием
Старый 03.12.2014, 00:44   #4
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,774
По умолчанию

Код:
select
  id, iddoc, idtov,
  case when ke >=0 then ke end income_ke,
  case when ke < 0 then ke end expense_ke
from
  my_table
Vapaamies вне форума Ответить с цитированием
Старый 03.12.2014, 00:46   #5
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Примного благодарен, разобрался.
tarakan1983 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование данных текущей строки DBGridEh В другjq DBGridEh ТипичныйСтудент Помощь студентам 1 06.06.2013 21:19
Как правильно отфильтровать данные в табличке? PTO Microsoft Office Excel 2 14.05.2013 11:02
Как отфильтровать по количеству знаков? menedzher375@ya.ru Microsoft Office Excel 2 21.03.2012 21:03
Обновлаение и отображение записей в dbgrideh artemavd БД в Delphi 1 18.07.2009 18:18
Отображение поля в DBGridEh vanektoo БД в Delphi 0 28.10.2008 10:07