2011-01-17 7 views

Antwort

4

Dies sollte funktionieren:

For i As Integer = 0 To Me.DataRepeater1.ItemCount -1 
     Me.DataRepeater1.CurrentItemIndex = i 
     Dim item As DataRepeaterItem = Me.DataRepeater1.CurrentItem 
    Next 
5

Der Code von Schmelter die aktuelle Zeile ändert, aber dies könnte unerwünschte Wirkungen hervorrufen, da sie die Benutzeroberfläche aktualisieren und bewirkt, dass andere Datenhandhabungs Ereignisse auszulösen. Es ist nicht erforderlich, den CurrentItemIndex so zu ändern, dass er die DataRepeaterItems durchläuft. Jedes DataRepeaterItem ist nur ein Control-Objekt in der DataRepeater.Controls-Auflistung. Hier ist eine Alternative (in C#):

using Microsoft.VisualBasic.PowerPacks; 
    foreach (DataRepeaterItem rowItem in dataRepeater1.Controls) 
    { 
     int itemIndex = rowItem.ItemIndex; 

     // If it's bound, get the underlying data object 
     object dataItem = BindingSource1.List[itemIndex]; 

     // Add code for each rowItem of the dataItem 
     // All controls on the DataRepeateItem can be obtained from rowItem.Controls 
    }