Текущий архив: 2003.02.06;
Скачать: CL | DM;
ВнизDBGrid Найти похожие ветки
← →
Andy Eremin (2003-01-21 10:22) [0]Мастера! Как выделить строку цветом, не используя подобный код:
DBGrid1.Canvas.Font.Color:=clRed;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left, Rect.Top+2, Table1.FieldByName(Column.FieldName).AsString);
Как-нибудь можно выделить по-другому?
← →
Reindeer Moss Eater (2003-01-21 10:24) [1]Строку можно выделить цветом не только не имея подобного кода, но и вообще не имея DBGrid"а
← →
Andy Eremin (2003-01-21 10:39) [2]2 Reindeer Moss Eater
А мне нужно выделить строку цветом в DBGrid`e.
И что Вы имели ввиду?
← →
Reindeer Moss Eater (2003-01-21 10:43) [3]Я имел ввиду только то, что если что-то имеешь ввиду, то о том и спрашивай.
← →
Delirium^.Tremens (2003-01-21 10:43) [4]Andy Eremin © (21.01.03 10:39)
Это настолько редкий здесь вопрос, что вряд ли кто-нибудь на него ответит.
← →
Reindeer Moss Eater (2003-01-21 10:44) [5]Опция dgRowSelect
← →
Andy Eremin (2003-01-21 10:49) [6]2 Reindeer Moss Eater
Как ей пользоваться?
← →
Reindeer Moss Eater (2003-01-21 10:50) [7]Ей пользоваться не надо, её надо включить в набор опций грида.
Property Options
← →
Соловьев (2003-01-21 10:55) [8]Если только 1 поле, то
procedure TFForm.DBGridTableDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
oldColor: TColor;
begin
with TDBGrid(Sender) do
begin
oldColor := Canvas.Brush.Color;
IF Column.FieldName ="имя нужного поля" then
Canvas.Brush.Color := clRed;
// Просим GRID перерисоваться самому
DefaultDrawColumnCell(Rect,DataCol,Column,State);
Canvas.Brush.Color := oldColor;
end;
end;
← →
don-do (2003-01-21 11:05) [9]Чем тебя смущает твой код?
← →
Andy Eremin (2003-01-21 11:15) [10]У меня есть код (написан выше). Во-первых, меня не устраивает, как он отображает ячейки не AsString (не те шрифты и выравнивание). Но это - пол-беды. На ячейки таблицы наложена маска (округление до 4 знаков после запятой, выделение тысяч). "Благодаря" этому некоторые ячейки отображаются неправильно, т.к. метод пытается отобразить их как String.
← →
dimis (2003-01-21 12:06) [11]используй код (с?)Соловьев (21.01.03 10:55)
вместо
DBGrid1.Canvas.TextOut(Rect.Left, Rect.Top+2, Table1.FieldByName(Column.FieldName).AsString);
надо писать
DefaultDrawColumnCell(Rect,DataCol,Column,State);
← →
Andy Eremin (2003-01-21 12:09) [12]Спасибо всем - нашел решение:
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawDataCell(Rect, Table1.FieldByName(Column.FieldName), State);
← →
don-do (2003-01-21 14:38) [13]Верно исходники на DBGrid слава богу прилагаются
Страницы: 1 вся ветка
Текущий архив: 2003.02.06;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.009 c