ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

DBGrid - Inserir uma string

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
LarryIca
Novato
Novato


Registrado: Quarta-Feira, 18 de Julho de 2012
Mensagens: 25

MensagemEnviada: Ter Ago 07, 2012 10:22 pm    Assunto: DBGrid - Inserir uma string Responder com Citação

Galera no meu soft, quando o status de uma linha é 2 eu pinto ela de vermelho eu queria escrever "CANCELADO" na umtima coluna, a parte da cor funciona perfeitamente.

Código:

procedure T_cadastroNota.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DBGrid1.Fields[7].AsString = '2' then
DBGrid1.Canvas.Brush.Color := clRed;
DBGrid1.Fields[8].Text := 'CANCELADO';
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Luciano_Lopes
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Abril de 2008
Mensagens: 1080

MensagemEnviada: Qua Ago 08, 2012 8:11 am    Assunto: Responder com Citação

coloca assim:

Código:
if DBGrid1.Fields[7].AsString = '2' then
begin
DBGrid1.Canvas.Brush.Color := clRed;
DBGrid1.Fields[8].Text := 'CANCELADO';
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
LarryIca
Novato
Novato


Registrado: Quarta-Feira, 18 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qua Ago 08, 2012 9:53 am    Assunto: Responder com Citação

Obrigado pela ajuda, mas não mudou nada e continua dando erro, acess violation, se eu comento a linha do "CANCELADO" funciona bem
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Ago 08, 2012 9:23 pm    Assunto: Responder com Citação

Código:
DBGrid1.Fields[8].Text := 'CANCELADO';

O 8º field existe mesmo? Este erro normalmente acontece quando vc aponta uma posição que não existe em uma coleção.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
LarryIca
Novato
Novato


Registrado: Quarta-Feira, 18 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qui Ago 09, 2012 9:29 am    Assunto: Responder com Citação

Existe sim, ele consegue chegar no 7, descobrir se é mesmo 2, e o erro continua.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
LarryIca
Novato
Novato


Registrado: Quarta-Feira, 18 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qui Ago 09, 2012 9:45 am    Assunto: Responder com Citação

ALguém pode me dar uma luz? Quero que o item cancelado fique com a palavra CANCELADO la no fim do dbgrid, ele ja deixa a linha vermelha tranquilamente.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
tanure
Profissional
Profissional


Registrado: Segunda-Feira, 7 de Novembro de 2011
Mensagens: 712

MensagemEnviada: Qui Ago 09, 2012 10:16 am    Assunto: Responder com Citação

lembrando que o grid começa da posição 0
estão todos os campos no cds?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
LarryIca
Novato
Novato


Registrado: Quarta-Feira, 18 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qui Ago 09, 2012 10:24 am    Assunto: Responder com Citação

não amigo, o ultimo campo eu criei no dbgrid apenas, pois não queria criar mais um campo na tabela apenas para isso, ja que o status porenquanto é um inteiro 1 ou 2 ou 3, onde 2 é cancelado.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
LarryIca
Novato
Novato


Registrado: Quarta-Feira, 18 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qui Ago 09, 2012 10:32 am    Assunto: Responder com Citação

Consegui da seginte forma, criei um campo la no dataset, e antes de exibir o dbgrid preciso deixar ele em edit e depois cancelupdates, se alguem tiver esse problema ta ai a solução, obrigado pela ajuda.

Código:

procedure T_cadastroNota.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
DataModule1.Client_PEGAITEM.Edit;
if DBGrid1.Fields[7].AsString = '2' then
begin
DBGrid1.Fields[8].Text := 'CANCELADO';
DBGrid1.Canvas.Brush.Color := clRed;
end;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
DataModule1.Client_PEGAITEM.CancelUpdates;
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB