4

当我们运行循环并在列表/组合框中的项目中移动时,有什么方法可以通过代码移动数据中继器的项目?谢谢富尔坎

4

2 回答 2

5

Schmelter 的代码更改了当前行,但这可能会产生不良影响,因为它可以更新 UI 并导致其他数据处理事件触发。不必更改 CurrentItemIndex 以循环通过 DataRepeaterItems。每个 DataRepeaterItem 只是 DataRepeater.Controls 集合中的一个 Control 对象。这是一个替代方案(在 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  
    }
于 2013-08-22T17:54:28.287 回答
3

这应该有效:

   For i As Integer = 0 To Me.DataRepeater1.ItemCount -1
       Me.DataRepeater1.CurrentItemIndex = i
       Dim item As DataRepeaterItem = Me.DataRepeater1.CurrentItem
   Next
于 2011-01-17T14:06:55.097 回答