Проблема с отображением Details в ListView C# VirtualMode
Приложение на Winforms.
Использую VirtualMode для отображения данных в ListView. Сначала создаю столбцы.
for (int i = 0; i < lStr; i++)
{
dataTable.Columns.Add(i.ToString(), "Col#" + i.ToString());
}
dataTable.VirtualListSize = showArray.Length;
Для заполнения использую событие RetreveVirtualItem.
private void dataTable_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
e.Item = new ListViewItem(showArray[e.ItemIndex].ToString());
}
В режиме представления Details получаю такую ошибку.
System.InvalidOperationException: "В режиме VirtualMode событие RetrieveVirtualListItem для ListView требует наличия подэлемента представления списка для каждого столбца ListView."
В других режимах отображения данной ошибки не возникает.
Ответы (1 шт):
Автор решения: Alexander Petrov
→ Ссылка
В ошибке всё сказано: требуется подэлемент (SubItem) для каждого столбца.
Нужно примерно следующее:
private void DataTable_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
{
var item = new ListViewItem();
for (int i = 0; i < dataTable.Columns.Count; i++)
item.SubItems.Add("тут данные для столбца");
e.Item = item;
}