Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
ВнизRecNo у TADsQuery Найти похожие ветки
← →
kyn66 (2007-12-19 16:04) [0]Я так понимаю, сто САБЖ как таковой отсутствует? Столкнулся с тем, что решил разполосатить грид, прикрепленный к сабжу. Полоски получилиь кто как хочет, т.е. условие
procedure TOstFrm.DBGridEh1GetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
if (ADSQuery1.RecNo mod 2 <> 0) then
Background := clWhite
else
Background := clBtnFace;
end;
не работает
← →
Kolan © (2007-12-19 16:30) [1]Нет, можно располосатить.
TFakeGrid = class (TDBGridEh);
procedure TMainForm.StationaryDBGridEhDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumnEh;
State: TGridDrawState);
begin
if Sender is TDBGridEh then
begin
with Sender as TDBGridEh do
begin
if Odd(TFakeGrid(Sender).DataLink.ActiveRecord) then
Canvas.Brush.Color := $00EEEEEE
else
Canvas.Brush.Color := clWindow;
if gdSelected in State then
Canvas.Brush.Color := $00BFB4B2;//clSilver;//$00cccccc;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;
То что ту EhGrid ситуацию не меняет, там чуть события по другому называются…
← →
kyn66 (2007-12-19 16:39) [2]Шот я запутался в кол-ве используемых гридов... StationaryDBGridEh,
TFakeGrid ??
← →
Kolan © (2007-12-19 16:53) [3]> StationaryDBGridEhDrawColumnCell
Это события рисоания ячейки грида. Оно доступно в испекторе. У дб грида OnDrawColumnCell.
У DataLink есть св-во ActiveRecordTDataLink.ActiveRecord Property
Specifies the index of the current record within the internal record buffer maintained by the dataset for the Owner of the TDataLink object.
но оно в protected секции TCustomDBGrid.
Поэтому используем «хак».TFakeGrid = class(TCustomDBGrid);
Вот для обычного дрида — компилится но работы не проверял.
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if Sender is TDBGrid then
begin
with Sender as TDBGrid do
begin
if Odd(TFakeGrid(Sender).DataLink.ActiveRecord) then
Canvas.Brush.Color := $00EEEEEE
else
Canvas.Brush.Color := clWindow;
if gdSelected in State then
Canvas.Brush.Color := $00BFB4B2;//clSilver;//$00cccccc;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
end;
← →
kyn66 (2007-12-19 17:11) [4]Ага, поняно, ща будем попробывать.
← →
kyn66 (2007-12-21 11:30) [5]Работает только для видимых строк. Стоит скролом опуститься вниз или вверх - "зебра" исчезает
← →
Kolan © (2007-12-21 11:36) [6]> Работает только для видимых строк. Стоит скролом опуститься
> вниз или вверх — «зебра» исчезает
Вроде работало для всех(бл такой баг, я вроде его как-то тогда победил)… В теч дня проверю…
← →
Kolan © (2007-12-21 11:44) [7]> [5] kyn66 (21.12.07 11:30)
> Работает только для видимых строк. Стоит скролом опуститься
> вниз или вверх — «зебра» исчезает
Проверил, да работает для видимых, то есть если были ст роки:1
2
3
4
5
6
7
А потом стали видны только
2
3
4
5
То будет2
3
4
5
То есть зебра не исчеснет, а как бы перескочит…
Других вариков сорри незнаю, только что на основи данных в таблице/запросе делать зебру…
← →
kyn66 (2007-12-21 12:14) [8]Да, раньше зебру приходилось прикручивать тока к отображаемым данным без редатирования, вот и казалось, все пучком. Стоило начать добавлять или удвлять строки - обломс, зебра запортачилась. А могет ну е ваще.... Хотя привык как-то к такому фейсу. Интерсно, как на 1С делают? Там ведь зебры везде
← →
Kolan © (2007-12-21 12:17) [9]> А могет ну е ваще…
Это ты не так что-то сделал. Моргать не должно…
> Стоило начать добавлять или удвлять строки — обломс, зебра
> запортачилась.
В смысле раньше — это на основе данных(по ключу например), да?
← →
Ega23 © (2007-12-21 12:28) [10]RecNo не используй. У разных потомков TDataSet оно определено по-разному.
← →
kyn66 (2007-12-21 12:38) [11]Вот предложиде гриду делать Refresh? вродь работает 8-), тока видны некоторые мерцания грида
← →
Kolan © (2007-12-21 13:51) [12]> Вот предложиде гриду делать Refresh? вродь работает 8-),
>
А при каких условиях моргает? У меня все отлично…
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.01.20;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c