Jump to content

adicionar informaçao em selecção de listbox


Recommended Posts

Bom dia

É o seguinte eu tenho uma tabela em excel com uma coluna de codigo e outra de definição do codigo. E já exportei essas colunas separadamente para listbox1 e listbox2 para que o utilizador possa procurar por codigo ou definição.

O que eu queria era que caso o utilizador escolhe-se a ver por codigo e ao seleccionar o codigo, na textbox1 aparece-se o codigo e a definição correspondente. E o mesmo caso ele escolhesse a definição, aparecer o codigo correspondente.

Como posso fazer isso???

Obrigada

Link to post
Share on other sites

Eu tenho um ficheiro excel com

Cod          |        Descrição

001          |        cama

002            |      cadeira

e tenho duas listbox uma com os codigos e outra cas descrições

o que queria era que o utilizador ao clicar em 001 numa textbox aparece-s 001cama

e se ele clica-se em cama aparece-se 001cama.

Ou seja o utilizador pode escolher a forma de pesquisa por codigo ou por descrição mas eu no fim queria que na textbox a informação aparece-s completa...

o cod que tenho nas listbox é o seguinte:

Protected Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
        ObterDadosExcel2()
    End Sub
    Public Function ObterDadosExcel2()
        Dim conn As New OleDbConnection
        Dim agendaReader As OleDbDataReader
        Dim connString As String
        Dim cmd As New OleDbCommand
        Try
            connString = "Data Source=C:\Documents and Settings\Admin\Os meus documentos\Visual Studio 2008\Projects\I1\cc.xls;" & "Provider=Microsoft.Jet.OLEDB.4.0;" & "Extended Properties=Excel 8.0;"
            conn.ConnectionString = connString
            conn.Open()
            cmd.Connection = conn
            cmd.CommandText = "Select * From CCOS"
            agendaReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
            Try
                While (agendaReader.Read)
                    ListBox2.Items.Add(agendaReader.Item(1))
                End While

            Finally
                agendaReader.Close()

            End Try

        Catch ex As Exception
            MsgBox(ex.Message())

        End Try
    End Function

Link to post
Share on other sites

Algo deste género


Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox1.Text = ListBox1.SelectedItem & ListBox2.Items(ListBox1.SelectedIndex).ToString
End Sub


Private Sub ListBox2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged
        TextBox1.Text = ListBox2.SelectedItem & ListBox1.Items(ListBox2.SelectedIndex).ToString
End Sub

Isto assumindo que inseres nas duas listbox pela mesma ordem ou seja o item 0 da listbox 1 corresponde ao item 0 da listbox 2

Knowledge to the masses


Link to post
Share on other sites

Experimenta meter .ToString no 1º

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        TextBox1.Text = ListBox1.SelectedItem.ToString & ListBox2.Items(ListBox1.SelectedIndex).ToString
End Sub

Knowledge to the masses


Link to post
Share on other sites

Esse erro desapareceu mas eu ao seleccionar um item na listbox1 ele não escreve nada na textbox e se clico depois na listbox2 dá erro:

"index was out of range. must be non-negative and less than the size of the collection. parameter name: index"

Link to post
Share on other sites

OBRIGADO

Já funcionou, o meu problema estava a dar porque eu só abria a segunda listbox se clica-se em procurar por descrição, agr tenho as duas listbox logo preenchidas.... e já funciona  ;)

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.