Usuário com melhor resposta
Como alimentar um text box usando uma combobox?

Pergunta
-
Bom dia! Senhores e Senhoras.
Bem ! estou com o seguinte problema espero que alguem possa me ajudar.
Estou trabalhando com wcf, silverlight e SQL server 2005 e liguagem C#.
Sou iniciante e estou com muita dificuldade de assimilar serviço e cliente, noentanto conseguir popular uma combobox. Acho que o projeto é simples, mas para mim está sendo um tanto complexo.
Eu tenho uma tabela onde tem ProdutoID, DescricaoProduto, ValorUnitario. A tabela já está com valores preenchidos por EXemplo
Descricao ValorUnitario
manga 1,00
A combobox está alimentada com os valores da coluna descrição e eu quero que cada vez que um produto seja selecionado ele me mostre o valor unitário na text box.
se alguem puder me ajudar eu agradeço.
Respostas
-
Entre em xaml:
TextBlock
Text="Descrio do Pedido" FontSize="14"/>
<ComboBox x:Name="cboDescricao"
Height="25"
Width="300"
Margin="10,0"
ItemsSource="{Binding}"
SelectionChanged="cboDescricao_SelectionChanged"/>
crie um evento chamado SelectionChange clique com botão direito em cima do evento e o código irá aparecer o evento em sua aplicação.
Agora faça o seguinte código:
private
void cboDescricao_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
txtValorUnitario.Text = ((
Produto)cboDescricao.SelectedItem).ValorUnitario.ToString();
}
- Marcado como Resposta Rafael Perez de Lima sexta-feira, 4 de dezembro de 2009 13:51
Todas as Respostas
-
-
-
Boas rafalima,
Tente o seguinte:
this.TextBox1.Text = this.ComboBox1.SelectedItem.ToString();
Obs.: Acredito que o forum mais ideal para postar essa duvida é no de Windows Forms.
http://www.israelaece.com -
Obrigaodo Israel pela dica, mas ainda não está funcionando vou passar o pedaço do código.
Cliente
public void cboProduto()
{
webService.populaProdutoAsync(
"preencherComboboxProduto");
}
void webService_populaProdutoCompleted(object sender, ServiceWCF.populaProdutoCompletedEventArgs e)
{
if (e.UserState == "preencherComboboxProduto")
{
observableProduto =
new ObservableCollection<Produto>();
Produto prod = null;
foreach (var itemProduto in e.Result)
{
prod =
new Produto();
prod.Descricao = itemProduto.Descricao;
prod.ValorUnitario = itemProduto.ValorUnitario;
observableProduto.Add(prod);
}
cboDescricao.ItemsSource = observableProduto;
cboDescricao.DisplayMemberPath =
"Descricao";
}
}
-
Serviço
[
OperationContract]
public List<Produto> populaProduto()
{
Produto prod = null;
List<Produto> produtoLista = new List<Produto>();
var Selecionar = from dados in db.Produtos orderby dados.Descricao select dados;
foreach (var itemProduto in Selecionar)
{
prod =
new Produto();
prod.Descricao = itemProduto.Descricao;
prod.ProdutoID = itemProduto.ProdutoID;
prod.ValorUnitario = itemProduto.ValorUnitario;
produtoLista.Add(prod);
}
return produtoLista;
}
-
-
Entre em xaml:
TextBlock
Text="Descrio do Pedido" FontSize="14"/>
<ComboBox x:Name="cboDescricao"
Height="25"
Width="300"
Margin="10,0"
ItemsSource="{Binding}"
SelectionChanged="cboDescricao_SelectionChanged"/>
crie um evento chamado SelectionChange clique com botão direito em cima do evento e o código irá aparecer o evento em sua aplicação.
Agora faça o seguinte código:
private
void cboDescricao_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
txtValorUnitario.Text = ((
Produto)cboDescricao.SelectedItem).ValorUnitario.ToString();
}
- Marcado como Resposta Rafael Perez de Lima sexta-feira, 4 de dezembro de 2009 13:51