GARANTIR DESCONTO

Fórum Sobre DBGrid... #290893

05/08/2005

0

pessoal sempre que utilizo os eventos do DBGrid para pintar a cor das fontes do grid eu me deparo com um problema... se eu pinto a fonte de azul quando o usuario seleciona-la ficara quase impossivel de encherga-la no grid... pois a das celulas selecionadas nao ficam brancas como de costume como fazer isso... :?: outra coisa, tem como mudar a cor da barra se selecao :?:


Bruno Belchior

Bruno Belchior

Responder

Posts

05/08/2005

Massuda

... pois a das celulas selecionadas nao ficam brancas como de costume como fazer isso... :?: outra coisa, tem como mudar a cor da barra se selecao :?:
Quando o evento para desenho é gerado (OnDrawDataCell ou OnDrawColumnCell), é passado o valor State que indica o estado do item a ser desenhado.

Se o valor gdSelected está em State (gdSelected in State), então o item está selecionado, ajuste a cor do fonte e a cor do brush como desejar.


Responder

Gostei + 0

08/08/2005

Bruno Belchior

a questão é que quero manipular todas as células selecionadas ([b:b0a17055b7]SelectedRows[/b:b0a17055b7]) pois a grid é de múltipla seleção...


Responder

Gostei + 0

08/08/2005

Bruno Belchior

já resolví a questão :D ... era apenas usar a propriedade [b:8600e41b6e]CurrentRowSelected[/b:8600e41b6e] do array de Rows selecionadas... :oops:


Responder

Gostei + 0

08/08/2005

Massuda

a questão é que quero manipular todas as células selecionadas...
O evento de desenho é gerado apenas quando é necessário atualizar a imagem na tela. Se você precisa forçar um redesenho do DBGrid, uma solução é você invalidar o DBGrid chamando o método TDBGrid.Invalidate.

Com relação à flag gdSelected, fiz alguns testes e deu para perceber que essa flag vem marcada apenas para a primeira coluna (DataCol = 0) das linhas selecionadas no grid se dgRowSelect = False em TDBGrid.Options. Caso contrário, gdSelected vem marcada para todos as colunas das linhas selecionadas.


Responder

Gostei + 0

08/08/2005

Marco Salles

Cara uma vez eu lhe respondi o um tópico

Pessoal há alguma maneira de saber se a atual linha do Grid (Row) está contida nas linhas selecionadas (SelectedRows)...


http://forum.clubedelphi.net/viewtopic.php?t=66159&highlight=

Neste mesmo tópico eu citei

eu não sei a finalidade que voce quer isto , mas se for para desenhar na celula usando o evento OnDrawCollun é mais indicado usar a propriedade DgSelected...


Voce não me retornou nada sobre este tópico , Se o codigo serviu , se não , se era para desenhar se não .. Pois bem , parece que era para desenhar e eu tinha tb a solução :cry: :cry: :cry:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar