DBCombobox usando LiveBinding
Estou apanhando para fazer um DBCombobox usando o LiveBinding.
Eu gostaria de fazer com que exibisse por exemplo:
Abacaxi
Banana
Melancia
e salvasse
A
B
M
Alguem sabe fazer isso no XE5?
Eu gostaria de fazer com que exibisse por exemplo:
Abacaxi
Banana
Melancia
e salvasse
A
B
M
Alguem sabe fazer isso no XE5?
Tiago Soares
Curtidas 1
Respostas
Vander Ferraz
27/11/2013
Você pode usar um componente Combobox simples ao invés de um DBCombobox.
Eu uso o Visual Livebindings para fazer. Basta Clicar com o Botão direito do Mouse em qualquer componente e escolher Bind Visually.
Se você colocar os dois componentes no seu form e abrir Visual Livebindings vai ver que o Combobox tem varias propriedades para se fazer binding e o DBCombobox não tem.
Eu uso o Visual Livebindings para fazer. Basta Clicar com o Botão direito do Mouse em qualquer componente e escolher Bind Visually.
Se você colocar os dois componentes no seu form e abrir Visual Livebindings vai ver que o Combobox tem varias propriedades para se fazer binding e o DBCombobox não tem.
GOSTEI 0
Tiago Soares
27/11/2013
Você pode usar um componente Combobox simples ao invés de um DBCombobox.
Eu uso o Visual Livebindings para fazer. Basta Clicar com o Botão direito do Mouse em qualquer componente e escolher Bind Visually.
Se você colocar os dois componentes no seu form e abrir Visual Livebindings vai ver que o Combobox tem varias propriedades para se fazer binding e o DBCombobox não tem.
Eu uso o Visual Livebindings para fazer. Basta Clicar com o Botão direito do Mouse em qualquer componente e escolher Bind Visually.
Se você colocar os dois componentes no seu form e abrir Visual Livebindings vai ver que o Combobox tem varias propriedades para se fazer binding e o DBCombobox não tem.
Eu estou acostumado com o Delphi 2007, eu vi que no XE5 realmente não tem o DBComboox, mas eu não consegui entender qual em qual propriedade do meu ComboBox eu ligo com meu Field.
E como eu irei fazer ele mostrar uma coisa e exibir outra.
GOSTEI 0
Vander Ferraz
27/11/2013
Voltemos ao básico
Cenário:
Eu tenho uma aplicação com uma tabela Produto, onde eu tenho relacionamento do campo CodCateg com uma tabela Categoria, OK.
Eu quero exibir no combobox a Descriçao da categoria e salvar na tabela Produto o Codigo da Categoria, ou seja, meu campo Lookup é o CodCateg nas duas tabelas.
Vamos ao Visual LiveBindings.
As propriedades que nos interessa no Combobox são:
SelectedValue
Item.Text
Item.LookupData
No visual Livebindigs basta arrastar a propriedade do Combobox para o Campo correspondente na tabela.
Vamos a prática.
A propriedade SelectedValue eu vou arrastar para o campo CodCateg da minha tabela produtos. É o campo onde os valores serão gravados.
A propriedade Item.Text vou arrastar para o campo Descricao da minha tabela de Categorias. É o valor que será exibido no meu Combobox.
A propriedade Item.LookupData vou arrastar para o campo Código da tabela Categorias. É o campo que faz minha correspondência de valores.
Existem formas mais complexas e avançadas de fazer isso. mas considero essa a forma mais simples e básica para você iniciar.
Estou a disposição para outras informaçoes.
Cenário:
Eu tenho uma aplicação com uma tabela Produto, onde eu tenho relacionamento do campo CodCateg com uma tabela Categoria, OK.
Eu quero exibir no combobox a Descriçao da categoria e salvar na tabela Produto o Codigo da Categoria, ou seja, meu campo Lookup é o CodCateg nas duas tabelas.
Vamos ao Visual LiveBindings.
As propriedades que nos interessa no Combobox são:
SelectedValue
Item.Text
Item.LookupData
No visual Livebindigs basta arrastar a propriedade do Combobox para o Campo correspondente na tabela.
Vamos a prática.
A propriedade SelectedValue eu vou arrastar para o campo CodCateg da minha tabela produtos. É o campo onde os valores serão gravados.
A propriedade Item.Text vou arrastar para o campo Descricao da minha tabela de Categorias. É o valor que será exibido no meu Combobox.
A propriedade Item.LookupData vou arrastar para o campo Código da tabela Categorias. É o campo que faz minha correspondência de valores.
Existem formas mais complexas e avançadas de fazer isso. mas considero essa a forma mais simples e básica para você iniciar.
Estou a disposição para outras informaçoes.
GOSTEI 0
Tiago Soares
27/11/2013
Essa parte eu entendi.
Mas no meu caso o valor que eu ire salvar no banco não está em uma tabela, esse valor é estático e não é integer é String.
Exemplo:
Eu tenho um cadastro de visitantes onde tenho um campo tipo de visitante onde eu salvo:
PRE
VIS
FUN
DOM
MOT
PIS
JAR
MON
TER
EMP
ENT
FAR
OUT
E exibo respectivamente:
Prestador de Serviços
Visitante
Funcionário
Doméstica
Motoboy
Piscineiro
Jardineiro
Montador
Terceirizado
Empreiteiro
Entregador Pizza
Farmácia
Outros
Minha duvida é como implementar isso no LiveBinding.
Mas no meu caso o valor que eu ire salvar no banco não está em uma tabela, esse valor é estático e não é integer é String.
Exemplo:
Eu tenho um cadastro de visitantes onde tenho um campo tipo de visitante onde eu salvo:
PRE
VIS
FUN
DOM
MOT
PIS
JAR
MON
TER
EMP
ENT
FAR
OUT
E exibo respectivamente:
Prestador de Serviços
Visitante
Funcionário
Doméstica
Motoboy
Piscineiro
Jardineiro
Montador
Terceirizado
Empreiteiro
Entregador Pizza
Farmácia
Outros
Minha duvida é como implementar isso no LiveBinding.
GOSTEI 0
Tiago Soares
27/11/2013
E outra duvida.
Tenho um campo UF onde armazeno a sigla do estado.
Estou tentenado ligar diretamente no text mas não está funcionando.
Tenho um campo UF onde armazeno a sigla do estado.
Estou tentenado ligar diretamente no text mas não está funcionando.
GOSTEI 0
Vander Ferraz
27/11/2013
Você não pode transformar isso em tabela?
GOSTEI 0
Tiago Soares
27/11/2013
Na verdade ja tenho essa aplicação rodando em Delphi 2007, eu estou tentando fazer um modulo Moblie.
Pra isso teria que alterar todo meu projeto win 32.
Pra isso teria que alterar todo meu projeto win 32.
GOSTEI 0
Vander Ferraz
27/11/2013
Em mobile o xe5 trabalha com dois bancos, o principal é sqlite.
Mas se você conseguir criar essa lista em XML você pode usar um clientdataset Ai fica facil usar o livebindings como descrevi acima
A programação Mobile é Simples.
Mas se você conseguir criar essa lista em XML você pode usar um clientdataset Ai fica facil usar o livebindings como descrevi acima
A programação Mobile é Simples.
GOSTEI 0
Vander Ferraz
27/11/2013
Aqui na Devmedia tem um artigo ótimo sobre clientdataset fazendo do jeito que eu disse.
[url]https://www.devmedia.com.br/clientdataset-gerando-tabela-temporaria-em-memoria/3193[/url]
Se você achar que esse jeito pode resolver podemos tentar isso na pratica.
[url]https://www.devmedia.com.br/clientdataset-gerando-tabela-temporaria-em-memoria/3193[/url]
Se você achar que esse jeito pode resolver podemos tentar isso na pratica.
GOSTEI 0
Rafael Mota
27/11/2013
Preencha a propriedade items do Combobox com sua lista, e faça a ligação da propriedade SelectedValue para o campo desejado. Gosto de preencher a lista só depois que faço a ligação, pois as vezes, no momento da ligação ele limpa a propriedade items.
Abraços.
Abraços.
GOSTEI 0
Eduardo Silva.
27/11/2013
Você pode formatar o texto utilizando a Propriedade CustomParse conforme a imagem abaixo:
[img:descricao=LivingBinding CustomParse]http://arquivo.devmedia.com.br/forum/imagem/19599-20140628-232900.png[/img]
Ou da forma tradicional utilizando o evento OnGetText.
sds
Eduardo Belo
[img:descricao=LivingBinding CustomParse]http://arquivo.devmedia.com.br/forum/imagem/19599-20140628-232900.png[/img]
Ou da forma tradicional utilizando o evento OnGetText.
sds
Eduardo Belo
GOSTEI 0