• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Valadas

[Resolvido] ListView (enviar dados de uma listview para textbox)

Acha este tópico útil?   6 membros votaram

  1. 1. Acha este tópico útil?

    • Muito útil
      2
    • Útil
      3
    • Pouco Útil
      1

Please inicie sessão ou registe-se para votar.

138 mensagens neste tópico

De novo estou com dúvidas na parte da pesquisa com a ListView... Eu quero, ao clicar num registo na listview ir abrir outra form... ainda nao entendi muito bem...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que e que nao resultou daquilo que eu te disse?

disso que disses-te tudo funciona... agora a duvida é outra... preciso mesmo que ao clicar num registo a partir da pesquisa vá abrir uma outra forma e carregue os dados de registo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Entao mas eu ja te tnha dado um codigo para abrires a form :confused:

ahh sim sim mas continuou a dar o tal erro na variavel...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ahh sim sim mas continuou a dar o tal erro na variavel...

mostra la como e que fizes-te a chamada da Funcao CreateForm se faz favor :confused: eu testei aqui e deu sempre correcto :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mostra la como e que fizes-te a chamada da Funcao CreateForm se faz favor :confused: eu testei aqui e deu sempre correcto :)

meti tudo na form3, que é onde esta a listview....

Imports System.Data.OleDb
Imports System
Imports System.Windows.Forms
Imports System.Reflection
Public Class Form3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        Dim db As New OleDbConnection(Gestao_Jogadores.My.Settings.ligacaobd)

        ' LIGAR A BD
        db.Open()

        ' PERGUNTAR QUAIS OS DADOS A PROCURAR
        '
        '
        '

        ' ACESSO AOS DADOS
        Dim comandosql = "Select Nome_jogador, Clube, Posicao from Perfil_Jogadores, Clubes where Nome_jogador like'" + TextBox1.Text + "%'"

        Dim cmd As New OleDbCommand(comandosql, db)

        Dim dtr As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

        With Me.ListView1
            .Columns.Clear()
            .Columns.Add("Nome", 55, HorizontalAlignment.Left)

            .Columns.Add("Clube", 55, HorizontalAlignment.Left)

            .Columns.Add("Posicao", 55, HorizontalAlignment.Left)

            .FullRowSelect = True

            .GridLines = False

            .View = View.Details


        End With

        ListView1.Items.Clear()
        Dim item As ListViewItem
        While dtr.Read()

            item = New ListViewItem
            item.Text = dtr.Item(0)
            item.SubItems.Add(dtr.Item(1))
            item.SubItems.Add(dtr.Item(2))
            Me.ListView1.Items.Add(item)

        End While

        dtr.Close()
        db.Close()

    End Sub

    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim db As New OleDbConnection(Gestao_Jogadores.My.Settings.ligacaobd)

        ' LIGAR A BD
        db.Open()

        ' PERGUNTAR QUAIS OS DADOS A PROCURAR
        '
        '
        '

        ' ACESSO AOS DADOS
        Dim comandosql = "Select Nome_jogador, Clube, Posicao from Perfil_Jogadores, Clubes"

        Dim cmd As New OleDbCommand(comandosql, db)

        Dim dtr As OleDbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

        With Me.ListView1
            .Columns.Clear()
            .Columns.Add("Nome", 55, HorizontalAlignment.Left)

            .Columns.Add("Clube", 55, HorizontalAlignment.Left)

            .Columns.Add("Posicao", 55, HorizontalAlignment.Left)

            .FullRowSelect = True

            .GridLines = False

            .View = View.Details


        End With

        ListView1.Items.Clear()
        Dim item As ListViewItem
        While dtr.Read()

            item = New ListViewItem
            item.Text = dtr.Item(0)
            item.SubItems.Add(dtr.Item(1))
            item.SubItems.Add(dtr.Item(2))
            Me.ListView1.Items.Add(item)

        End While

        dtr.Close()
        db.Close()

    End Sub
    
    Public Shared Function CreateObjectInstance(ByVal objectName As String) As Object
        Dim obj As Object

        Try
            If objectName.LastIndexOf(".") = -1 Then
                objectName = [Assembly].GetEntryAssembly.GetName.Name & "." & objectName
            End If

            obj = [Assembly].GetEntryAssembly.CreateInstance(objectName)

        Catch ex As Exception
            obj = Nothing
        End Try
        Return obj

    End Function

    Public Shared Function CreateForm(ByVal formName As String) As Form
        Return DirectCast(CreateObjectInstance(formName), Form)
    End Function
    Dim frm As Form
frm = CreateForm("Nome_do_Form")
frm.ShowDialog()
End Class

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dim frm As Form
frm = CreateForm("Nome_do_Form")
frm.ShowDialog()

Esta parte tem de estar dentro do evento do click do item na listview...

e tens de substituir "Nome_do_Form" pelo nome do form que vais abrir tipo por exemplo: "FormPlayer"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dim frm As Form
frm = CreateForm("Nome_do_Form")
frm.ShowDialog()

Esta parte tem de estar dentro do evento do click do item na listview...

e tens de substituir "Nome_do_Form" pelo nome do form que vais abrir tipo por exemplo: "FormPlayer"

ai está a minha maior duvida... A minhas questão é se meto assim:

Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick
        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()
    End Sub

ou assim:

Private Sub Form3_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick
        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

assim:

Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick
        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()
End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

assim:

Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseDoubleClick
        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()
End Sub

exacto ja testei. e desta forma nao faz o que queria.

O que faz é, ao clicar em qualquer sitio da form3(onde esta a listview) vai abrir a form2... e eu queria ao clicar num item da pesquisa ia abrir a form2 e carregar os dados da pesquisa...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

exacto ja testei. e desta forma nao faz o que queria.

O que faz é, ao clicar em qualquer sitio da form3(onde esta a listview) vai abrir a form2... e eu queria ao clicar num item da pesquisa ia abrir a form2 e carregar os dados da pesquisa...

Ve bem o que eu te mandei... nao e nenhuma das opçoes que tu me mostras.te :confused:

nao e o nome da funçao que diz em que evento a função e dispultada :) e no handles :) e tu tinhas form3.mousedoubleclick ^^

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ve bem o que eu te mandei... nao e nenhuma das opçoes que tu me mostras.te :confused:

nao e o nome da funçao que diz em que evento a função e dispultada :) e no handles :) e tu tinhas form3.mousedoubleclick ^^

desculpa la a minha ignorância mas trabalho nisto à pouco tempo e nao entendi bem...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tu mostras-te esta opção:

Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseDoubleClick
        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()
End Sub

Repara que apesar da função se chamar "ListView1_MouseDoubleClick" tens o handles como "Me.MouseDoubleClick" ou seja o Me é o form logo ele vai executar essa funcao quando fazes duplo click no form :confused:

logo o que tens de fazer é:

Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles ListView1.MouseDoubleClick
        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()
End Sub

Para so inicializar quando fazes duploclick na listview :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Essa parte está resolvida...

Agora na parte de carregar os dados para a outra n sei bem como se faz esta parte....

aqui declaro as variáveis:

Dim Nome_Jogador As String
    Dim clube As String
    Dim data_nasc As Integer
    Dim cidade_natal As String
    Dim Pais As String
    Dim Posicao As String
    Dim Ordenado_semanal As Integer
    Dim Estado As String

E agora a minha duvida está aqui:

 Private Sub ListView1_MouseDoubleClick(ByVal sender As Object, ByVal e As EventArgs) Handles ListView1.MouseDoubleClick

        Dim frm As Form
        frm = CreateForm("Form2")
        frm.ShowDialog()


        Nome_Jogador = ListView1.Items(e.itemsIndex).Cells(1).Value
        Clube = DataGridView1.Rows(e.RowIndex).Cells(2).Value
        Data_nasc = DataGridView1.Rows(e.RowIndex).Cells(3).Value
        Cidade_natal = DataGridView1.Rows(e.RowIndex).Cells(4).Value
        Pais = DataGridView1.Rows(e.RowIndex).Cells(5).Value
        Posicao = DataGridView1.Rows(e.RowIndex).Cells(6).Value
        Ordenado_semanal = DataGridView1.Rows(e.RowIndex).Cells(7).Value
        Estado = DataGridView1.Rows(e.RowIndex).Cells(0).Value






        Form4.Alterar(nome_cliente, nr_contribuinte, endereco, cod_post, telefone, fax, localidade, id_cliente)
        Me.Close()
    End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

qual e a tua duvida? :S

é qual é esta parte correcta de carregar os dados...

isto ta mal:

 Nome_Jogador = ListView1.Items(e.itemsIndex).Cells(1).Value

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ListView nao tem value penso eu... exprimenta assim:

Dim item as ListViewItem = listView1.Items(e.itemsIndex)(1)
Dim itemValue as String = item.ToString()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ListView nao tem value penso eu... exprimenta assim:

Dim item as ListViewItem = listView1.Items(e.itemsIndex)(1)
Dim itemValue as String = item.ToString()

esta esxpressao não está correcta.... "(e.itemsIndex)"  :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ai ai como deste aquilo fui na tua conversa :confused:

tenta assim:

Dim lItem As ListViewItem
Dim strValues() As String

For i As Integer = 0 To ListView1.SelectedItems.Count - 1

        lItem = ListView1.SelectedItems.Item(i)

        strValues(i) = lItem.SubItems(0).Text

Next

penso que seja assim... estou no trabalho nao consigo testar lol :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ai ai como deste aquilo fui na tua conversa :)

tenta assim:

Dim lItem As ListViewItem
Dim strValues() As String

For i As Integer = 0 To ListView1.SelectedItems.Count - 1

        lItem = ListView1.SelectedItems.Item(i)

        strValues(i) = lItem.SubItems(0).Text

Next

penso que seja assim... estou no trabalho nao consigo testar lol :)

nao da erros nenhums... mas continua sem carregar os dados para a form5(exemp)... ta complicado...  :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Entao vamos la pensar :confused:

Ao menos aparece o form? :)

Tenta carregar os dados para uma classe e declara as variaveis como public shared para nao perder o valor depois de as atribuires :)

E no form que carregas tenta aceder a elas :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho o codigo igual ao do valadas eu clico no nome e depois na form nao concigo carregar os dados do registo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e uma beca difrente se bem entendi :confused:

1º ele quer abrir num novo form e tu nao

2º os teus dados veem da base de dados e os dele nao

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e uma beca difrente se bem entendi :confused:

1º ele quer abrir num novo form e tu nao

2º os teus dados veem da base de dados e os dele nao

talvez eu tenha-me explicado mal.. peço desculpa!

a minha pesquisa na listview é à base de dados e depois ao carregar os dados para outra form também é da base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora