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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2015, 12:46   #1
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию Раскрашивание строк в DBGrid по нечетным числам - Delphi

Добрый День! Ребята подскажите, как раскрасить строки в DBGrid строго через одну, если строка удаляется или добавляется - одна строка остается белая, как есть по умолчанию - другая например, чуть серая?
База данных Access, подключение ADOTable, в одной колонке имеется счетчик, может по нему можно сделать как-то, чтоб например по нечетным числам был серый цвет строки, а по четным оставался белым
С уваженитем
S_007 вне форума Ответить с цитированием
Старый 12.05.2015, 12:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Именно так.
Опиши OnDrawDataCell примерно так:
Код:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
var
  holdColor: TColor;e,u:integer;
begin
 with DBGrid1.Canvas do begin
  if odd(TDbGrid(Sender).DataSource.DataSet.FieldByName('Номер').AsInteger) then  begin
   Brush.Color:=clWhite
   Font.Color:=clblack;
  end else begin
   Brush.Color:=clblack;
   Font.Color:=clWhite;
  end;
  FillRect(rect);
  TextOut(Rect.Left,Rect.Top,Field.AsString);
 end;
end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2015, 13:20   #3
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию

Stilet, Спасибо! Идея ясна, счас попробую...
S_007 вне форума Ответить с цитированием
Старый 12.05.2015, 13:26   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Давай, удачи )
Если что поиском по форуму по слову OnDrawDataCell - примеров будет море.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2015, 13:48   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
в одной колонке имеется счетчик
Не очень, могут быть дырки и обязательно будут. Лучше по RecNo, например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 12.05.2015, 14:07   #6
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Давай, удачи )
Если что поиском по форуму по слову OnDrawDataCell - примеров будет море.
примеров то море, только то что надо не нашел... потому и обратился к вам!

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не очень, могут быть дырки и обязательно будут. Лучше по RecNo, например
Спасибо вам! Но как?

Последний раз редактировалось Stilet; 12.05.2015 в 14:15.
S_007 вне форума Ответить с цитированием
Старый 12.05.2015, 16:34   #7
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию

Stilet, Ваш пример попробовал, почему-то абсолютно ничего не происходит, ниче не закрашивается...
S_007 вне форума Ответить с цитированием
Старый 12.05.2015, 16:54   #8
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию

Stilet, прошу пощения, Ваш пример работает, Спасибо!! Только если я включаю сортировку то все ломается....
А если тупо через одну строку другими цветами без привязки ни к чему, как сделать?

Последний раз редактировалось S_007; 12.05.2015 в 16:56.
S_007 вне форума Ответить с цитированием
Старый 12.05.2015, 16:59   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Только если я включаю сортировку то все ломается....
А выше Аватар говорил с чем сравнивать нужно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.05.2015, 17:05   #10
S_007
Форумчанин
 
Регистрация: 22.11.2014
Сообщений: 109
По умолчанию

А как это реализовать как советовал Аватар если Вам не трудно можете пример дать?
S_007 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация много раз повторяющихся строк в DBGrid в Delphi Train-GT БД в Delphi 6 22.09.2014 07:38
дана строка состоящая из групп нулей и единиц. Подсчитать количества единиц в группах с нечетным количеством символов (на Delphi) ArturBattalov Помощь студентам 1 06.10.2013 16:16
Сортировка строк массива (по числам) cyt Помощь студентам 11 17.10.2010 22:50
И по поводу раскрашивание ячеек от даты Wasily Microsoft Office Excel 9 18.06.2008 08:38
Раскрашивание черно-белых изображений!!! ALEX_RAS Помощь студентам 1 16.05.2008 21:57