Редактировать: Другие люди говорят, что ваши данные должны быть источником на экране сетки. Я считаю, что это будет работать и будет намного быстрее. Мое решение будет работать для создания новых данных с итерацией (например, вы хотите, чтобы идентификатор соответствовал месту в gridview.) Однако может быть полезно создать новую модель для вашего элемента списка и создать некоторые геттеры ради модульный ООП.
В этом случае я бы создал новую модель для элемента gridview (в данном случае это выглядит как пользователи). Так что я сделал что-то подобное в UWP, и это закончилось тем, что выглядели так:
ButtonRow = new List<ButtonModel>();
int daysOnButtonRow = 365;
TimeSpan additionalDay = new System.TimeSpan(1);
for (int i = 0; i < daysOnButtonRow; i++)
{
ButtonRow.Add(new ButtonModel(DaysFromToday(i), DaysFromToday(i + 1)));
}
Тогда класс ButtonModel содержал параметры, специфичные для каждой кнопки и методы получения релевантной информации, которую я хотел, чтобы отобразить на этой кнопке.
public class ButtonModel
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public ButtonModel(DateTime _startDate, DateTime _endDate)
{
StartDate = _startDate;
EndDate = _endDate;
}
public string StartDateTruncatedName
{
get { return StartDate.ToString("dddd").Substring(0, 3).ToUpper(); }
}
public string StartDateDayNum
{
get { return StartDate.Day.ToString(); }
}
public string StartDateMonth
{
get { return StartDate.ToString("MMMM").ToUpper(); }
}
}
Это может быть намного более чистым и более модульным. Пример в списке, но он должен работать аналогично для gridview. Поскольку вы уже работаете с заполненным списком, я бы предложил использовать цикл for-in, а также для вашей итерации вместо стандартного цикла for. Это сделало бы так, что каждый раз, когда вы добавляете элемент в список, он будет добавлен в gridview.
Надеюсь, это поможет! :)
Да, похоже, что он должен работать. Я заполнял gridviews, когда они летают много раз. – causita
Я не уверен в asp.net, но обычно я устанавливаю свой «источник» в список объектов, и я пишу в своем xaml конкретное поле fieldName, которое я хотел бы показать в каждом столбце (FieldName - это переменная-член моей object: Name, ID, Whatever, .. и т. д.) –