DBCombobox não atualiza correto

Delphi

17/11/2004

Tenho diversos DBCombobox num form, que estão ligados aos campos de um dataset pelas propriedades datasource e datafield.

Os campos são char(1) e estão armazenando o primeiro caracter da string do combo selecionado.

Todos os combos estão com style=csDropDown

Os itens do combo exemplificado abaixo são:
Credita
Debita
Não Incide

No afterscrool do dataset tenho códigos como abaixo (um para cada combo)

  if dm.tbTaxaPropCD.value = ´C´ then
    cbProp.ItemIndex := 0
  else if dm.tbTaxaPropCD.value = ´D´ then
    cbProp.ItemIndex := 1
  else if dm.tbTaxaPropCD.value = ´N´ then
    cbProp.ItemIndex := 2;

Ao navegar pelos registros do dataset, quando o campo PropCD é ´C´ aparece ´Credita´, se o próximo é ´D´ aparece ´Debita´ mas se no próximo registro o conteúdo é igual ao anterior, por exemplo ´D´ não aparece ´Debita´ e sim ´D´. Enquanto não aparecer um registro cujo conteúdo do campo seja diferente continua aparecendo ´D´, se aparece um registro contendo ´N´ então aparece ´Não incide´.

Já vi algumas mensagens no forum falando algo parecido, mas não encontrei uma solução viável. Alguém saberia como ajustar isso?


Aerreira

Aerreira

Curtidas 0

Respostas

Adilsond

Adilsond

17/11/2004

Voce possui os componentes da Biblioteca RxLib. Caso afirmativo, existe um RxDBComboBox onde voce definiria da seguinte maneira:

DataSource := SeuDataSource de destino
DataField := Seu campo de Destino
EnableValues := True;
Items := Inclua aqui uma string em cada linha: Credita, Debita e Não incide
Values := Inclua aqui uma string em cada linha: C, D, N

Não tenho certeza, mas acho que a Biblioteca Jedi talvez tenha incorporado este componente.


GOSTEI 0
Aerreira

Aerreira

17/11/2004

Voce possui os componentes da Biblioteca RxLib. Caso afirmativo, existe um RxDBComboBox onde voce definiria da seguinte maneira: DataSource := SeuDataSource de destino DataField := Seu campo de Destino EnableValues := True; Items := Inclua aqui uma string em cada linha: Credita, Debita e Não incide Values := Inclua aqui uma string em cada linha: C, D, N Não tenho certeza, mas acho que a Biblioteca Jedi talvez tenha incorporado este componente.


Não tenho não. Por acaso alguém sabe se existe RxLib para Delphi 5? Pois só estou encontrando para 6 ou 7.


GOSTEI 0
Adilsond

Adilsond

17/11/2004

Baixe do site do clubedelphi em [url]http://www.clubedelphi.net/compo/detalhes.asp?id=97[/url]

Como instalar? [url]http://sites.uol.com.br/disco_virtual/lloydsoft/compartilhada/dtdelphi26.zip
[/url] Procure por RxLib


GOSTEI 0
Aerreira

Aerreira

17/11/2004

Baixe do site do clubedelphi em [url]http://www.clubedelphi.net/compo/detalhes.asp?id=97[/url] Como instalar? [url]http://sites.uol.com.br/disco_virtual/lloydsoft/compartilhada/dtdelphi26.zip [/url] Procure por RxLib


Ok, Adilson, já baixei o rxlib + instruções... vou instalar e testar amanhã.
Obrigado pelas dicas.


GOSTEI 0
Aerreira

Aerreira

17/11/2004

[quote:ba3c22645d=´AdilsonD´]Baixe do site do clubedelphi em [url]http://www.clubedelphi.net/compo/detalhes.asp?id=97[/url] Como instalar? [url]http://sites.uol.com.br/disco_virtual/lloydsoft/compartilhada/dtdelphi26.zip [/url] Procure por RxLib


Ok, Adilson, já baixei o rxlib + instruções... vou instalar e testar amanhã.
Obrigado pelas dicas.[/quote:ba3c22645d]

Perfeito... Funcionou exatamente como o esperado. O que fez a diferença foi a propriedade ´EnableValues := True´, sem ela fica com o mesmo problema do combo padrão.

Valeu pela dica, e tem muito mais na RxLib que eu não conhecia.


GOSTEI 0
POSTAR