powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / изменение цвета фона в QuantumGrid
10 сообщений из 10, страница 1 из 1
изменение цвета фона в QuantumGrid
    #32235124
Morfeuse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
подскажите как измененить цвета фона в QuantumGrid
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235183
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если интересует Color строчки конкретной, то обработчик OnCustomDraw - в нем куча параметров (шрифт, цвет) для конкретного поля и для строки.
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235491
Morfeuse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
получается следующее

procedure TfmAutoBilling.gridDBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
// ????
end;

а конечная цель - изменить цвет фона всей строки в зависимости от содержимого конкретного поля - подскажи, плиз
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235506
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так :
procedure TMain.grdTradeCustomDrawCell(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
ASelected, AFocused, ANewItemRow: Boolean; var AText: String;
var AColor: TColor; AFont: TFont; var AAlignment: TAlignment;
var ADone: Boolean);
var
V: Variant;
C: TdxDBTreeListColumn;
begin
if ANode.HasChildren or ASelected then
Exit;

C:= (Sender as TdxDBGrid).ColumnByFieldName('oper_type');
V:= ANode.Values[C.Index];

if V = 'Покупка' then
AColor := clInfoBk;
if V = 'Продажа' then
AColor := clAqua;
if V = 'Зачисление' then
AColor := clLime
end;
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235543
Morfeuse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня передается поменьше параметров
procedure TfmAutoBilling.gridDBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);

а в примере
procedure TMain.grdTradeCustomDrawCell(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; ANode: TdxTreeListNode; AColumn: TdxTreeListColumn;
ASelected, AFocused, ANewItemRow: Boolean; var AText: String;
var AColor: TColor; AFont: TFont; var AAlignment: TAlignment;
var ADone: Boolean);

где это Events находится ?
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235550
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня версия 3.2
Events там же, где всегда
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235605
Morfeuse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не найду grdTradeCustomDrawCell никак :( - у меня только gridDBTableView1CustomDrawCell - а у него нет параметра AColor
подскажи пошагово где это, если еще не в облом
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32235764
Александр Б
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grdTrade: TdxDBGrid; - это просто название моего grid'а
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32236803
Андрей Бабенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для 4-го грида (если просто цвет фона)можно воспользоваться cxStyleRepository

если в зависимости от значения - через OnCustomDrawCell, можно типа так:

var
ARec: TRect;
ATextToDraw: String;
val: string;

begin

ARec := AViewInfo.Bounds;
ACanvas.Canvas.Brush.Style := bsSolid;
SetBkMode(ACanvas.Canvas.Handle, TRANSPARENT);

ATextToDraw := AViewInfo.GridRecord.DisplayTexts[AViewInfo.Item.Index];

val := VarAsType(AViewInfo.GridRecord.DisplayTexts[TvoyField.Index], varString);

if val = 'Bla-Bla1' then
ACanvas.Canvas.Brush.Color := твой цвет1
else ACanvas.Canvas.Brush.Color := твой цвет2;

ACanvas.Canvas.FillRect(ARec);
ACanvas.DrawText(ATextToDraw, AViewInfo.Bounds, 0);

end;

А вообще посмотри пример CustomDrawTableViewDemo в поставке 4-го грида.
...
Рейтинг: 0 / 0
изменение цвета фона в QuantumGrid
    #32236858
Morfeuse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем ! разобрался !
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / изменение цвета фона в QuantumGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]