2012-03-25 4 views
2

Ich brauche Hilfe, um eine Antwort zu erhalten, wenn ich auf ein "Item" aus einer Listenansicht klicke. Ich weiß, dass es eine ausgewählte Indizierung gibt, aber wenn ich versuche, eine MessageBox anzuzeigen, passiert nichts, habe viele andere Dinge ausprobiert, aber es ist mir nicht gelungen, etwas einzubringen.ListView selectedindexexchanged

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 

     ... 
     while (reader.Read()) 
     { 
      string alio = reader["fornamn"].ToString(); 
      string efternamn = reader["efternamn"].ToString(); 
      ListViewItem lvi = new ListViewItem(alio); 
      listView1.Items.Add(lvi); 
      lvi.SubItems.Add(efternamn); 
     } 
    } 

    private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
    { 

    } 
} 
+1

Verwenden Sie WPF oder WinForms? Wie auch immer, bitte posten Sie Ihren Code. – dlev

+0

Können wir sehen, was Sie versucht haben und welche Probleme/Fehler Sie haben? – Seany84

+0

Ich benutze WinForms http://pastebin.com/zWanhwA4 – TheZozoOwner

Antwort

6

Unter der Annahme, dass 81.private Leere listView1_SelectedIndexChanged richtig zur Listenansicht verknüpft ist, müssen Sie die Listenansicht abzufragen, um herauszufinden, was ausgewählt ist:

private void listView1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if(this.listView1.SelectedItems.Count == 0) 
    return; 

    string namn = this.listView1.SelectedItems[0].Text; 

    // Create the sql statement to retrieve details for the user 
    string sql = string.Format("select * from kunder where fornamn = '{0}', namn); 

    // do the same as you do to create a reader and update the controls. 
} 
0

Going durch den Begriff „wenn ich versuche, Anzeige einer MessageBox, so dass nichts passiert "\, Ich nehme an, dass Sie einfach MessageBox.Show("blah"); in den Event-Handler setzen und es nie angezeigt bekommen.

Wenn dies der Fall ist, ist Ihr Event-Handler nicht ordnungsgemäß mit der Listenansicht Ihres Formulars verknüpft. Gehen Sie zurück und sehen Sie den Text listView1_SelectedIndexChanged ist irgendwo in Ihrer Form1.Designer.cs Datei gefunden werden.

Wenn nicht (oder trotzdem), beginnen Sie erneut mit einem neuen Formular. Das ist der einfachste Ausweg. :)

0
private void lstView_KQ_SelectedIndexChanged(object sender, EventArgs e) 
    { 

     if (lstView_KQ.SelectedItems.Count > 0) 
     { 
      ListViewItem itiem = stView_KQ.SelectedItems[lstView_KQ.SelectedItems.Count - 1]; 
      if (itiem != null) 
       foreach (ListViewItem lv in lstView_KQ.SelectedItems) 
       { 
        txtMaNV.Text = lv.SubItems[0].Text; 
        cmbCV.Text = lv.SubItems[1].Text; 
        txtHoNV.Text = lv.SubItems[2].Text; 
        txtTenNV.Text = lv.SubItems[3].Text; 
        txtNgaysinh.Text = lv.SubItems[4].Text; 
        txtGioiTinh.Text = lv.SubItems[5].Text; 
        txtDiaChi.Text = lv.SubItems[6].Text; 
        txtSDT.Text = lv.SubItems[7].Text; 
        txtCMND.Text = lv.SubItems[8].Text; 
       } 
     } 
    }  
+1

Hallo, willkommen bei Stack Overflow! Vielen Dank für Ihre Antwort, was Sie jedoch zu einer * noch besseren * Antwort machen würde, wenn Sie Erklärungen hinzufügen würden, was Ihr Code macht und warum es funktioniert. – Jesse