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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2011, 16:02   #1
Brother Abbat
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 34
По умолчанию Разукрашивание текущей записи в DBGrid

Новый день, новая проблема. Разукрасил свой Dbgrid как Бог черепаху, осталось только что бы активная запись как нибудь выгодно выделялась на всем этом великолепии. Начал искать в интернетах и нашел такой код
Код:
  with AlternGrid(Sender) do
    begin
         if (DataSet.RecNo mod 2 = 1 ) then
         Canvas.Brush.Color :=$00FFA8A8//$00EFFEE9
         else
         Canvas.Brush.Color :=clSkyBlue;
      if  DataLink.ActiveRecord = Row-1 then
                               begin
                               Canvas.Font.Color:=clWhite;
                               Canvas.Brush.Color:=clGray;
                               end;                   end;
     DBGrid.DefaultDrawColumnCell(Rect,DataCol,Column, State);
Друзья помогите разобраться. Что такое AlternGrid(Sender) и DatLink.ActiveRecord. Что то подсказывает мне, что activeRecord это то что мне нужно, но не найду такого свойства нив DataSete, ни в ADOQuerry.

Последний раз редактировалось Brother Abbat; 05.12.2011 в 16:12.
Brother Abbat вне форума Ответить с цитированием
Старый 06.12.2011, 08:13   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Для таких целей намного удобней использовать RXDBGrid
SERG1980 вне форума Ответить с цитированием
Старый 06.12.2011, 09:13   #3
Brother Abbat
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 34
По умолчанию

Было бы неплохо, но в проекте практически все готово и как то неохота менять грид. Думал, что в стандартном сие можно будет реализовать. Что такое AlternGrid нашел. Не помогло.
Brother Abbat вне форума Ответить с цитированием
Старый 06.12.2011, 09:26   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

А менять практически ничего не надо. а кинуть другой грид и подключить его к датасоурсу это недолго. Сам когдато также извращался со стандартной ДБГрид пока нервы не иссякли и тогда нашёл RxDBGrid.
В ней есть событие
Код:
TMainForm.RxDBGrid1GetCellParams(Sender: TObject; Field: TField;
  AFont: TFont; var Background: TColor; Highlight: Boolean);
где var Background: TColor - задаём цвет строки по какому нибудь условию
Highlight: Boolean - равна труе когда выбрана текущая запись

Ну и вот вам ответ как выделить текущую запись
Код:
procedure TMainForm.RxDBGrid1GetCellParams(Sender: TObject; Field: TField;
  AFont: TFont; var Background: TColor; Highlight: Boolean);
begin
if Highlight then
 begin
  Background:=clLime;
  Afont.Style:=[fsBold];
  AFont.Color:=clBlack;
 end;
SERG1980 вне форума Ответить с цитированием
Старый 06.12.2011, 09:32   #5
Brother Abbat
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 34
По умолчанию

Друзья, у меня все получилось. AlterGrid описал как класс TCustomDBGrid и все заработало, но я нифига не понимаю как работает этот код. Если кому не сложно (ну или есть свободное время) опишите алгоритм работы. Заранее спасибо.
Brother Abbat вне форума Ответить с цитированием
Старый 06.12.2011, 09:34   #6
Brother Abbat
Пользователь
 
Регистрация: 03.11.2011
Сообщений: 34
По умолчанию

to Serg1980 Нуу, я только начинаю писать и получается что все узнаю в процессе. Данный проект нужно уже вчера сдавать. Мелкие доработки будут по ходу. Просто думаю, что замена грида займет у меня достаточное время ))
Brother Abbat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Редактирование текущей записи Dbgrid -=pasha=- Общие вопросы Delphi 9 19.02.2013 03:16
Удаление текущей записи Ado palochka БД в Delphi 8 20.05.2010 11:42
Удаление текущей записи из файла Proger_1 Общие вопросы Delphi 4 15.05.2010 23:35
Номер текущей записи Streetmagic БД в Delphi 5 25.12.2009 07:43
Цвет текущей строки в DBGrid reiftd C++ Builder 1 29.10.2009 11:10