Есть ли способ переместить элементы datarepeater через код, когда мы запускаем цикл и перемещаем элементы в списке/поле со списком? Благодаря ФурканоПеремещение предметов datarepeater
4
A
ответ
4
Это должно работать:
For i As Integer = 0 To Me.DataRepeater1.ItemCount -1
Me.DataRepeater1.CurrentItemIndex = i
Dim item As DataRepeaterItem = Me.DataRepeater1.CurrentItem
Next
5
Код из Schmelter изменяет текущую строку, но это может привести к нежелательным эффектам, поскольку он может обновить пользовательский интерфейс и вызывает другие события данных обработки в огнь. Нет необходимости менять CurrentItemIndex на цикл через DataRepeaterItems. Каждый DataRepeaterItem является всего лишь объектом Control в коллекции DataRepeater.Controls. Вот альтернатива (в 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
}