Colorir linha selecionada do Grid
Estava tentando algo do gênero
Pois preciso forçar a linha atual a ficar destacada...
Alguém para me ajudar?
Valew
if TDBGrid(Sender).SelectedRows :?: :?: then begin TDBGrid(Sender).Canvas.Font.Color:= clWhite; TDBGrid(Sender).Canvas.Brush.Color := clNavy; end;
Pois preciso forçar a linha atual a ficar destacada...
Alguém para me ajudar?
Valew
Gustavo_pacheco
Curtidas 0
Respostas
Marco Salles
23/05/2005
Pois preciso forçar a linha atual a ficar destacada...
Mas , usar as propriedades Options do Grid não resolve :?: :?: :?:
Por exemplo:
No Objecto Inspector da Grid em Abra oPTIONS.. Sete a Propriedade DgRowSelectd Para True e a propriedade DgAlwShowSelected para True
[b:b8fac15fe8]o incoveniente desta sugestão , e que voce não consegue digitar na Grid e alem do mais a cor em destaque e o azul Padrão..
Mas quanto ao fato de nãopoder digitar , alguns codigos extras resolvem o Porblema[/b:b8fac15fe8]
Este é um ataque mais simples do problema , o outro acredito sera usando o evento onDBGrid1DrawDataCell
Exemplo:
implementation var i:Integer=1; procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin If (Table1.RecNo) = i then begin DBGrid1.Canvas.Font.Color:= clWhite; DBGrid1.Canvas.Brush.Color:= clGreen; end else begin DBGrid1.Canvas.Font.Color:= clBlack; DBGrid1.Canvas.Brush.Color:= clWhite; end; DBGrid1.Canvas.FillRect(Rect); DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString); end; procedure TForm1.Table1AfterScroll(DataSet: TDataSet); begin i:=Table1.RecNo; end;
[b:b8fac15fe8]Pode ser que em alguns bancos , isto ainda não funcione , devido a Propriedade RecNo [/b:b8fac15fe8]
Fatal error: Maximum execution time of 30 seconds exceeded in D:\web\forum.devmedia.com.br\httpdocs\down_postsforum.php on line 70
GOSTEI 0
Gustavo_pacheco
23/05/2005
Cara,
Deu certo, valew!!! :!: :!: :!:
Deu certo, valew!!! :!: :!: :!:
GOSTEI 0