2010-07-23 4 views
1
 Private Function ColumnEqual(ByVal A As Object, ByVal B As Object) As Boolean 

     If A Is DBNull.Value And B Is DBNull.Value Then 
      Return True 
     End If 

     If A Is DBNull.Value Or B Is DBNull.Value Then 
      Return False 
     End If 
     Return A = B 
    End Function 
    ..... 

     Public lastV As Object 
     ... 
     For Each dr In wData.Rows 
      If lastV Is Nothing OrElse Not ColumnEqual(lastV, dr("table1")) Then 
       ''check if first value is nothing 
       If lastV = Nothing Then 
       lastV = "00" 
       l = "0" 
       Else 
      dr("t1") = lastV 
       dr("n1") = l 
       End If 
      ListBox1.Items.Add(lastV & " <--> " & l) 
       lastV = dr("table1") 
       l = 1 
      ElseIf lastV Is Nothing OrElse ColumnEqual(lastV, dr("table1")) Then 
       l += 1 
       End If 
     Next 

J'utilise ce code pour faire défiler ma base de données. Il ajoute chaque enregistrement dans une liste mais il n'ajoute pas le dernier enregistrement dans la zone de données à la liste.vb.net boucle dans la zone de données et ajoute chaque valeur dans une zone de liste

Toute aide.

Merci

+0

Qu'est-ce lastV et où vous avez initialisé ces variables et cette boucle? –

+0

la boucle est initialisée lors du chargement des données dans la vue de données. – Gbolahan

+0

Désolé, \t Je ne peux pas faire la tête ou la queue de celui-ci. Mais je recommande fortement de définir "Option Strict" sur dans vos paramètres de projet ou - mieux - globalement dans vos options Visual Studio. –

Répondre

0

Si je vous comprends bien, vous voulez ajouter chaque colonne dans le datarow comme un nouvel élément ListBox dans votre ListBox.

Si j'ai raison, alors l'exemple suivant le ferait. J'utiliser un DataSet:

Dim i As Integer = 0 
For j As Integer = 0 To wData.Tables(0).Columns.Count - 1 
    ListBox1.BeginUpdate() 
    ListBox1.Items.Add(wData.Tables(0).Rows(i)(j).ToString) 
    ListBox1.EndUpdate 

    If j = wData.Tables(0).Column.Count - 1 Then 
     i = i + 1 
    End If 
Next 

Cela va ajouter le contenu de chaque colonne dans la ligne i à la zone de liste. L'instruction If l'empêche d'incrémenter i jusqu'à ce que la dernière colonne soit ajoutée.

Veuillez garder à l'esprit que je n'ai pas testé ce code.

HTH

+0

va donner un coup de feu et vous laisser savoir..cheers !! – Gbolahan

Questions connexes