2014-09-19 4 views
0

Я пытаюсь добавить все элементы ListView в группы, чтобы элемент мог быть в нескольких группах. Элементы в ListView соответствуют списку, в котором Something имеет член под названием Genre, который является списком, поэтому элемент может иметь несколько жанров. Я хочу, чтобы группы для каждого жанра присутствовали в списке и делали все предметы в своих группах. Я хотел сделать такую ​​вещь:Добавить ListViewItem для нескольких групп

ListView1.Items.All(x => { x.Groups.Add("groupname"); x.Groups.Add("groupname 2"); return true; }); 

возможно ли это или я должен сделать свой ListView?

+1

Это не представляется возможным. Каждый элемент включает ссылку на группу, которая является членом: «ListViewItem.Group», что означает, что они могут принадлежать только одной группе. Предоставленный ответ просто создает дополнительные элементы, чтобы назначать их всем группам. Это будет работать, если избыточные данные не раздражают вас или пользователя, и вам не придется согласовывать изменения позже. – Plutonix

ответ

1

Попробуйте это для меня работа

listView1.Columns.Add("Col1"); 
listView1.Columns.Add("Col2"); 

string[] strArrGroups = new string[3] { "FIRST", "SECOND", "THIRD" }; 
string[] strArrItems = new string[4] { "uno", "dos", "twa", "quad" }; 
for (int i = 0; i < strArrGroups.Length; i++) 
{ 
    int groupIndex = listView1.Groups.Add(new ListViewGroup(strArrGroups[i],HorizontalAlignment.Left)); 
for (int j = 0; j < strArrItems.Length; j++) 
{ 
    ListViewItem lvi = new ListViewItem(strArrItems[j]); 
    lvi.SubItems.Add("Hasta la Vista, Mon Cherri!"); 
    listView1.Items.Add(lvi); 
    listView1.Groups[i].Items.Add(lvi); 
} 

}

Смежные вопросы