Jump to content

[Resolvido] Listview


Valadas
 Share

Recommended Posts

Boas pessoal,

tenho um problema para ir buscar os dados à base de dados e preencher a listview nas respectivas colunas....

se me pudessem ajudar...

tenho o seguinte codigo:

 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)

       
        db.Open()

        
      
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.Add("Nome", 50, HorizontalAlignment.Left)

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

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

            .FullRowSelect = True

            .GridLines = False

            .View = View.Details

        End With

        While dtr.Read()
            ListView1.Items.Add(dtr.Item(0))

        End While

        dtr.Close()
        db.Close()
end sub

RV

Link to comment
Share on other sites

E dá algum erro? o que nao funciona?

tenta alterar aquele ciclo para algo do genero:

Dim itmX as ListViewItem
While dtr.Read()
         itmX=new ListViewItem()
         itmX.Text= dtr.GetValue(0).ToString()

         For i as Integer =1 To i = dtr.FieldCount - 1
            itmX.SubItems.Add(dtr.GetValue(i).ToString())
         Next
         ListView1.Items.Add(itmX);
End While

EDIT: lol adicionei o code e o geshi

There are two ways to write error-free programs; only the third one works.

Link to comment
Share on other sites

Assim, e se estiver a funcionar, apenas te preenche a primeira coluna.

Tens de fazer mais ou menos isto:

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
Link to comment
Share on other sites

Obrigado, ficou resolvido!!!! 😛

utilizei o código do jpaulino e deu!!

🙂 ainda bem

mas tem atenção.. a unica difrenca entre o meu codigo e o dele e que ele apenas conta com os 3 campos que tu tens seleccionados...

no meu codigo podes utilizar para qualquer select que ele vai listar todos os campos seleccionados 😄

E nao te esquecas de por resolvido no nome do tópico.

Cumps

There are two ways to write error-free programs; only the third one works.

Link to comment
Share on other sites

😄 ainda bem

mas tem atenção.. a unica difrenca entre o meu codigo e o dele e que ele apenas conta com os 3 campos que tu tens seleccionados...

no meu codigo podes utilizar para qualquer select que ele vai listar todos os campos seleccionados 😛

E nao te esquecas de por resolvido no nome do tópico.

Cumps

sim so utilizei o dele porque era mais simples e como estou no inicio foi o que percebi melhor...

outra coisa, como faço para quando abrir o form da listview carregar todos os dados guardados na bd??

RV

Link to comment
Share on other sites

Inseres isto antes do inicio da classe:

Imports System
Imports System.Windows.Forms
Imports System.Reflection

Depois crias estas duas funções:

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

Depois para abrires o form que queres e facil basta saberes o nome do Form e fazes:

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

There are two ways to write error-free programs; only the third one works.

Link to comment
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
 Share

×
×
  • 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.