Problème pour afficher une table sur une listview [Résolu]

Signaler
Messages postés
65
Date d'inscription
dimanche 25 avril 2010
Statut
Membre
Dernière intervention
28 mars 2013
-
cs_TIKATKT
Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012
-
salut tout le monde
j ai créer une base de donnée medecin
et j ai crèer une table passion(mle int ,nom varchar,prenom varchar ,date_naiss date ,poids int ,taille int )
je veux afficher dans une listview le nom d un patient son imc et son etat
donc j ai pas imc et l etat dans ma base de donnée
pour cela j ai créer deux fonction une qui calcul imc et l autre qui calcul etat
mais le problème j'arrive a calculer imc et l etat de chaque patient que j ai deja ajouter dans ma base de donnée et afficher le resultat dans une listview
sachant que r(1) c est pour le champ nom dans la base de donnée et r(4) pour le poids et r(5) pour la taille voila mon code :
 
 Private Sub afficher_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ListView1.View = View.Details
        ListView1.Columns.Add("nom")
        ListView1.Columns.Add("IMC")
        ListView1.Columns.Add("etat")

    End Sub
Public Function calculer_imc(ByVal p As Single, ByVal t As Single) As Single
        Dim i As Single
        i = p / (t * t)

        Return i

    End Function
    Public Function calcul_etat(ByVal a As Single) As String
        If a < 18.5 Then
            Return "maigre"

        End If
        If a = 20 Then
            Return "ideal "
        End If
        If a > 18.5 And a < 25 Then
            Return "normal"
        End If
        If a >= 25 Then
            Return "ensurpoids "

        End If
        If a > 30 Then
            Return "obèse"
        End If
        Return a
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        co.Open()
        Dim cmd As New SqlCommand("select * from passion ", co)
        Dim re As SqlDataReader = cmd.ExecuteReader
        Dim lvi As New ListViewItem
        Dim imc As Single
        Dim etat As String
     
        imc = calculer_imc(re(4), re(5))
        etat = calcul_etat(imc)
     
        re.Read()
        lvi.Text = re(1)
        lvi.SubItems.Add(imc)
        lvi.SubItems.Add(etat)
        ListView1.Items.Add(lvi)
        While re.Read
            Dim lvi1 As New ListViewItem
            lvi1.Text = re(1)
            lvi1.SubItems.Add(imc)
            lvi1.SubItems.Add(etat)
            ListView1.Items.Add(lvi1)
        End While


j'attend vos reponse avec impatiente et merci d'avance pour votre aide

1 réponse

Messages postés
40
Date d'inscription
mardi 16 février 2010
Statut
Membre
Dernière intervention
6 février 2012

Bonjour,

j'ai modifié un peu dans le code du bouton, essai ceci :

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        co.Open()
        Dim cmd As New SqlCommand("select * from passion", co)
        Dim re As SqlDataReader = cmd.ExecuteReader

        Dim imc As Single
        Dim etat As String
        If re.HasRows Then
            While re.Read
                imc = calculer_imc(re(4), re(5))
                etat = calcul_etat(imc)

                Dim lvi As New ListViewItem
                lvi.Text = re(1)
                lvi.SubItems.Add(imc)
                lvi.SubItems.Add(etat)
                ListView1.Items.Add(lvi)

            End While
        End If
        co.Close()
        re.Close()
    End Sub



bon courage