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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.11.2007, 09:59   #1
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию Выкрутасы с DBGridEh

Добрый день уважаемые программисты. Наконец я столкнулся с проблемкой достаточной интересной, которую к тому же не могу решить.
У меня есть БД, в ней одна из таблиц которая производить все расчеты (главная), но суть в том что все работает как по маслу за исключением одной детили:
Мне нужно чтобы при нажатии на кнопку (не имеет значение при событии любом), в DBGrid с n кол-вом столбцов выводилось как в экселе по середине дата:
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 07.11.2007, 01:13   #2
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Честно говоря ничего не понял. Как в экселе посередине дата? О чем речь-то?
Баламут вне форума Ответить с цитированием
Старый 11.11.2007, 20:47   #3
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Пусть наприме в Excel у нас есть 5 колонок, мне нужно пересечение 2,3,4 колонки со строкой 4, т.е. это получаться 3 ячейки, объеденить и залить их цветом. (это в экселе делается очень просто в течении нескольких секунд).

Как мне все это организовать в Delphi в визульном компоненте DBDBGridEh?

БУду благодарен за помощь, очень надо.
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 11.11.2007, 21:09   #4
dron-s
Форумчанин
 
Регистрация: 04.03.2007
Сообщений: 615
По умолчанию

вот, смотри
Код:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
const
  clPaleGreen = TColor($CCFFCC);
  clPaleRed = TColor($CCCCFF);
begin
  if (gdFocused in State) then
  begin
    StringGrid1.Canvas.Brush.Color := clBlack;
    StringGrid1.Canvas.Font.Color := clWhite;
  end
  else
    if  (AROW = 2) and (Acol = 1) then
      StringGrid1.Canvas.Brush.color := clPaleGreen
    else
      StringGrid1.canvas.brush.Color := clPaleRed;

  if (ACol > 0) and (ARow > 0) then
  begin
    StringGrid1.Canvas.FillRect(Rect);
    StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
  end;
end;
dron-s вне форума Ответить с цитированием
Старый 12.11.2007, 01:09   #5
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Мне просто интересно, а какое такое хитрое поле из базы данных должен отображать DBGrid с объединенными ячейками? Что-то не очень получается сообразить... В StringGrid это понятно, тут я с dron-s полностью согласен.
Баламут вне форума Ответить с цитированием
Старый 12.11.2007, 09:45   #6
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Ну делов том что НД который я должен отобразить с помощью DBGrid состоит из 14 столбцов. Не будем говорить о всех, возьмем только 3,4,5 столбцы, где 3,4 - строковый тип, а 5 - вещественный. Все бы ничего, работаеться как в сказке делая чего хочешь, но вот когда доходит дело до того как мне надо пересечения этих трех столбцов и одной строки (например по событию добавления новой записи, в принципе не важно), т.е. у меня получаеться три ячейки, их нужно закрасить в желтый цвет, затем по середине вставить значение типа даты, а затем сохранить всю строку в наборе данных так чтобы при добавлении новой строки, данная строка не содеражала никаких данных за исключением этих трех ячеек (которые по сути дела пусты по краям, а средняя имеет значение типа дата)...

Вот весь смысл задачи, если чего не ясно объяснил прошу прощения, скажите что именно не ясно опишу подробнее
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 12.11.2007, 11:08   #7
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Вот пример такой задачи в Excel, что длаеться в течении 2 минут а то и меньше... только это надо в DBGrid отобразить!
Вложения
Тип файла: rar Книга1.rar (1.4 Кб, 23 просмотров)
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ehlib, DBGridEh Rustem.xxx Компоненты Delphi 2 27.05.2008 14:41
DBGridEh+EditMask при условии. Jenya БД в Delphi 1 03.03.2008 13:58
автопоиск в DBGridEh furstenberg Компоненты Delphi 4 18.02.2008 12:49
Вопрос по DBGridEh Cyn4uk Компоненты Delphi 1 01.01.2008 11:19
из DBGridEh в Exel Abay БД в Delphi 3 18.09.2007 09:10