Usuário com melhor resposta
problemas para Popular combobox com banco de dados access

Pergunta
-
ola à todos
tenho duas combobox... estava preenchendo elas com dados do bd access atraves de uma propriedade combobox taks...
mas não deu mt certo pois alguns problemas estão ocorrendo e não acho soluçao pra isso..
enfim, vou popular minha combo da maneira "natural" com a string de conexao, o command o adapter e etc..
gostaria da ajuda de vcs para o seguinte: o comando pra popular a combo vai no propria combo ou no evento load? como poderia popular duas combos ao mesmo tempo, com campos diferentes do bd? lembrando que a segunda combo só é preenchida à partir do que foi escolhdo na primeira..além disso toda vez que for adicionado um item ao bd, ele deve ser atualizado na combo
att
Respostas
-
Oi gc.contatos,
Se no evento Click não funcionar, selecione o evento SelectedIndexChanged da combobox (na verdade é melhor)
flw
- Marcado como Resposta gc.contatos sábado, 25 de fevereiro de 2012 06:37
Todas as Respostas
-
Boa noite amigo, vc terá que popular o primeiro combobox.
protected void carreaDrop1()
{
try
{
ddl1.DataSource = oseu retorno do banco de dados
ddl1.DataTextField = "text";
ddl1.DataValueField = "value";
ddl1.DataBind();
ddl1.Items.Insert(0, "-- SELECIONE --");
}
catch (Exception ex)
{
throw ex;
}
}Apos vc terá que que pegar o retorno que o usurio escolheu no primeiro drop.
if (!IsPostBack)
{
carreaDrop1()
}
else
{\\aqui será apos post back
carreaDrop2();
}
protected void carreaDrop2()
{
try
{
ddl2.DataSource = ddl1.SelectedItem.Text;
ddl2.DataTextField = "text";
ddl2.DataValueField = "value";
ddl2.DataBind();
ddl2.Items.Insert(0, "-- SELECIONE --");
}
catch (Exception ex)
{
throw ex;
}
}Assim vc ira carregar o segundo combo de acordo com o que o usurio escolher no primeiro.
Caso a resposta tenha ajudado favor marcar como respondida.
-
-
Oi gc.contatos,
Voce pode popular as duas comboboxs de várias maneiras.
Uma delas é voce popular a primeira já de primeira, no evento load do form. Ou seja, quando o form abre, preencha ja a primeira combo. A segunda combobox pode ser preenchida com o evento clique da primeira combobox (quando o utilizador clicar na primeira combobox ou trocar um elemento da combobox)
Cara é essa a sua dúvida? Pelo que entendi voce não está com alguma difificuldade de montar o código mas apenas quer saber onde colocar os códigos! Certo?
Espero ter ajudado
Augusto
-
-
Oi gc.contatos,
Voce selecione a combobox, vai até a janela de propriedade e faça clik naquele sinal de raio ou descarga elétrica! Aí voce terá dispoível todos os eventos...Aí, faça duplo clique no evento clique e coloque lá os códigos.
Para ajuda de como voce vai preencher as comboboxs, voce pode consultar a seguinte thread:
http://social.msdn.microsoft.com/Forums/pt/adoptpt/thread/04f2fbd1-da16-4f5d-bbb2-55d78f22f2b5
É so copiar e fazer a adaptação.
Abraços
-
-
-
augusto, não to nem conseguindo testar o que vc me mandou,
porque minha combo não dá "sinal de vida" no nem no evento load, tem como vc me ajudar?
segue o cod para análise
Imports System.Data.OleDb
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim cnx As New OleDb.OleDbConnection
With cnx
.ConnectionString = "provider=Microsoft.Jet.OLEDB.12.0;Data Source=C:\Users\Giovanni Cunha\Desktop\teste do software\teste novo 2\WindowsApplication1\Banco de Dados1.accdb"
.Open()
End With
Try
Dim cmd As New OleDb.OleDbCommand("select * from tabela1 order by nome", cnx)
Dim ad As New OleDb.OleDbDataAdapter(cmd)
Dim ds As New DataSet()
ad.Fill(ds)
ComboBox1.DataSource = ds.Tables(0)
ComboBox1.DisplayMember = "nome"
ComboBox1.ValueMember = "id"
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub -
Oi gc.contatos,
Se no evento Click não funcionar, selecione o evento SelectedIndexChanged da combobox (na verdade é melhor)
flw
- Marcado como Resposta gc.contatos sábado, 25 de fevereiro de 2012 06:37
-
-
-