有没有办法通过代码移动datarepeater的项目,因为我们运行循环并遍历列表/组合框中的项目? 谢谢 Furqan
答案 0 :(得分: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
}
答案 1 :(得分:3)
这应该有效:
For i As Integer = 0 To Me.DataRepeater1.ItemCount -1
Me.DataRepeater1.CurrentItemIndex = i
Dim item As DataRepeaterItem = Me.DataRepeater1.CurrentItem
Next