Forums Neueste Beiträge
 

ListView -- Zeile vorselektieren

07/01/2010 - 19:41 von Claudia Maier | Report spam
Hallo,

mein Ziel.
Ich befülle zur Laufzeit automatisch ein ListView.
Bei Fertigungstellung soll automatisch der letzte Eintrag
vorselektiert sein.

Optimal wàre dann noch zu sagen, Selektiere Zeile X vor.

Bei einer Listbox mache ich das so.
ListBox listBoxT
listBoxT.Items.Add("Test5 Position");
listBoxT.SelectedIndex = listBoxT.Items.Count - 1;

Hier weiß ich es einfach nicht.
ListView lvTypes;
System.Windows.Forms.ListViewItem item = lvTypes.Items.Add("Spalte
1");
item.SubItems.Add("Spalte 2");
item.SubItems.Add("Spalte 3");
lvTypes.SelectedIndex = lvTypes.Items.Count - 1;

lvTypes.Items[lvTypes.Items.Count - 1].Selected = true;

Grüße Claudia
 

Lesen sie die antworten

#1 Frank Dzaebel
07/01/2010 - 22:10 | Warnen spam
Hallo Claudia,

mein Ziel.
Ich befülle zur Laufzeit automatisch ein ListView.
Bei Fertigungstellung soll automatisch der letzte Eintrag
vorselektiert sein.
Optimal wàre dann noch zu sagen, Selektiere Zeile X vor.



Speziell, wenn die ListView noch mit anderen Steuerelementen
auf der Form ist, gibt es leicht Focus-Unterschiede. Deswegen
macht man gern am Ende der Selektion noch ein: lv.Select();

ListView lv = new ListView();
TextBox tb = new TextBox();

private void Form1_Load(object sender, EventArgs e)
{
Controls.Add(tb); Controls.Add(lv);
lv.Location = new Point(0,30);
lv.Width = Width;
for (int i = 0; i < 5; i++)
lv.Items.Add("Test" + i + " Position");

lv.Items[lv.Items.Count - 1].Selected = true;
// lv.Items[lv.Items.Count - 1].Focused = true;
lv.Select();
}

[Gewusst wie: Auswàhlen eines Elements im ListView-Steuerelement in
Windows Forms]
http://msdn.microsoft.com/de-de/lib...56c0b.aspx
____________

Beim "View.Details" kàme noch hinzu, dass SubItems normal nicht
selektierbar sind. Dann wird nur der erste selektiert, wenn Du nicht
gerade FullRowSelect auf true gesetzt hast.

ListView lv = new ListView();
TextBox tb = new TextBox();

private void Form1_Load(object sender, EventArgs e)
{
Controls.Add(tb); Controls.Add(lv);
lv.Location = new Point(0, 30);
lv.Width = Width;
//lv.FullRowSelect = true;
lv.Columns.Add("Spalte1");
lv.Columns.Add("Spalte2");
lv.Columns.Add("Spalte3");
lv.View = View.Details;
ListViewItem item = lv.Items.Add("Wert 1");
item.SubItems.Add("Wert 2");
item.SubItems.Add("Wert 3");
lv.Items[lv.Items.Count - 1].Selected = true;
lv.Select();
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen