Hi,
ich habe das Problem das ich nach den Aktionen wie "Löschen" oder "Neuanlage", das letzte Element der ListView tatsächlich selektieren will, dies aber nicht funktioniert.
Hintergrund: Man könnte dann den z.B. "Löschen" Button einfach drücken, ohne die immer wieder ein Item zu selektieren.
Den Index des letzten Elements habe ich.
Hallo Max1809
Versuchs mal hiermit:
protected DeleteButton...(object sender, EventArgs e)
{
int selectedIndex = itemsListBox.SelectedIndex;
itemsListBox.SelectedIndex = 0;
DeleteFunction();
itemsListBox.Focus();
itemsListBox.SelectedIndex = selectedIndex;
}
Sollte das nicht klappen, bitte zeige wie genau du es bewerkstelligen möchtest.. (Dein Anasatz...)
Beste Grüsse
Diräkt
Hallo Max1809
Versuchs mal hiermit:
protected DeleteButton...(object sender, EventArgs e) { int selectedIndex = itemsListBox.SelectedIndex; itemsListBox.SelectedIndex = 0; DeleteFunction(); itemsListBox.Focus(); itemsListBox.SelectedIndex = selectedIndex; }
Sollte das nicht klappen, bitte zeige wie genau du es bewerkstelligen möchtest.. (Dein Anasatz...)
Beste Grüsse
Diräkt
Hallo Diräkt,
danke für deine Anregung. 😃
Löschen habe ich folgendermaßen realisiert:
// Löschen Kunden
dtoKunde ausgewaehltesItem = (dtoKunde)this.listView1.SelectedItem;
if (ausgewaehltesItem != null)
{
int selectedIndex = this.listView1.SelectedIndex;
this.conKunde.loeschenKunde(ausgewaehltesItem); // Aus Datenbank löschen
this.kunden.RemoveAt(selectedIndex); // nun aus der ListView löschen
// Positionierung auf dem letzten Item der ListView
this.listView1.Items.Refresh();
this.listView1.Focus();
this.listView1.SelectedIndex = this.kunden.Count - 1;
}
Positioniert sich nun immer auf das letzte Element in der ListView.
Neuanlage sieht folgendermaßen aus:
// Neuanlage eines Kunden
this.conKunde.neuerKunde();
// Daten neu reinholen
this._aktualisieren();
this.listView1.Focus();
this.listView1.SelectedIndex = this.kunden.Count -1;
Hallo Marx1809
Leider habe ich gerade keine Zeit um schnell ein Test-Projekt zu machen, daher bitte ich Dich (damit auch andere Antworten können) genau zu definieren was folgendes bedeutet: "funktioniert nicht".
=> erhält die ListBox den Fokus ?
=> Wird etwas selektiert ?
=> Sind die Items "gebunden" ?
=> Hast "SelectedItem" ev. auch gebunden ?
=> ...
Beste Grüsse
Diräkt
Es funktioniert! 😃 Die vorherige Antwort zeigt "meine Lösung" (inspiriert durch deine Antwort).
wenn man an eine CollectionView bindet, dann kümmert die sich darum, ein anners Item zu selektieren, wenn das aktuelle gelöscht wurde.
Der frühe Apfel fängt den Wurm.