Ich habe eine list view
, die zwei Spalten hat: eine für das Präfix und eine für die Verbindungszeichenfolge.ListView Elemente werden nicht richtig umbenannt
Beispiel:
Prefix| Connection string
--------------------------
OR1_ | blablabla
--------------------------
OR2_ | blebleble
--------------------------
OR3_ | blublublu
--------------------------
(Sorry für den behelfsmäßigen Tisch, ich glaube, es einfacher zu verstehen)
So, jetzt, wenn ich einen Artikel aus dem ich brauche Listview löschen Sie alle Präfixe umbenennen so vorstellen, wenn ich die Artikelnummer 2, löschen will ich bis am Ende mit:
Prefix| Connection string
--------------------------
OR1_ | blablabla
--------------------------
OR3_ | blublublu
--------------------------
Aber ich brauche es eigentlich OR1_ und OR2_
zu seinso habe ich diesen Code, die das tut, wenn ich einen Artikel löschen:
private void buttonDel_Click(object sender, EventArgs e)
{
if (listViewConnectionStrings.Items.Count == 0) return;
else
{
//Delete the items
foreach (ListViewItem eachItem in listViewConnectionStrings.SelectedItems)
{
Connections.Remove(eachItem.Text);
listViewConnectionStrings.Items.Remove(eachItem);
}
if(listViewConnectionStrings.Items.Count == 0) return;
//Rename the prefixes
int cntItems = listViewConnectionStrings.Items.Count;
for (int i = 0; i <= cntItems; i++)
{
ListViewItem newItem = new ListViewItem();
newItem = listViewConnectionStrings.Items[0];
int newPrefix = i++;
newItem.Text = @"OR" + newPrefix.ToString() + @"_";
}
}
}
Die letzte for
funktioniert gut, wenn ich die ersten Punkt auf der Liste löschen, es umbenennt alle anderen richtig, aber Wenn ich einen in der Mitte oder am unteren Rand lösche, dann wird einer, der nicht der erste ist, den gleichen Namen erhalten.
Was vermisse ich, was ist los?
Sind Sie mehr als ein Element zum Zeitpunkt löschen oder nur ein Element ausgewählt ist? IE Die MultiSelect-Eigenschaft ist auf Wahr oder Falsch gesetzt? – Steve