He intentado eliminar elementos específicos de una vista de lista utilizando el método RemoveAt()
. Pero cuando lo elimino la primera vez, algunos elementos permanecerán.Los elementos especificados no se eliminarán al usar ListView.Item.RemoveAt()
Por ejemplo: ver la imagen de abajo
Código:
private void button1_Click(object sender, EventArgs e)
{
for (int i = 0; i < listView1.Items.Count; i++)
{
if (listView1.Items[i].SubItems[0].Text == "A1")
{
listView1.Items.RemoveAt(i);
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
for(int i = 0; i<3; i++)
{
ListViewItem lvi = new ListViewItem("A1");
lvi.SubItems.AddRange(new string[] {"desc" + i.ToString(), i.ToString()});
listView1.Items.Add(lvi);
}
for (int i = 0; i < 2; i++)
{
ListViewItem lvi = new ListViewItem("A2");
lvi.SubItems.AddRange(new string[] { "desc" + i.ToString(), i.ToString() });
listView1.Items.Add(lvi);
}
}
+1 Porque eso es probablemente lo que haría. –
+1, @TSS, si cambia el bucle 'for' para comenzar al final y va a' 0', puede deshacerse de 'i -;'. –
Buena captura a la deriva. – Inisheer