2012-03-25 51 views
2

我需要帮助才能在列表视图中单击“项目”时获得响应。知道有selectedindexchanged,但是当我尝试显示一个MessageBox,所以没有任何反应,尝试了很多其他的事情,但没有设法想出一些东西。ListView selectedindexchanged

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

您使用的是WPF或WinForms?无论哪种方式,请发布您的代码。 – dlev 2012-03-25 01:16:53

+0

我们可以看到您尝试过什么,遇到什么问题/错误? – Seany84 2012-03-25 01:17:38

+0

我使用WinForms http://pastebin.com/zWanhwA4 – TheZozoOwner 2012-03-25 01:24:03

回答

6

假设81.private无效listView1_SelectedIndexChanged正确连接到ListView,你将需要查询的列表视图,以找出什么选择:

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

去用术语“当我尝试显示一个MessageBox,所以什么都不会发生“\,我假设你只是把MessageBox.Show("blah");放在事件处理程序中,并且从未显示它。

如果是这种情况,您的事件处理程序未正确挂接到窗体的列表视图。回去看看文字listView1_SelectedIndexChanged是在Form1.Designer.cs档案里找到的任何地方。

如果没有(或者反正),重新开始一个新的表单。这是最简单的方法。 :)

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

嗨,欢迎来到Stack Overflow!感谢您的回答,但是,如果您将解释添加到您的代码所做的工作中,以及为什么它能够正常工作,那么它将成为更好的答案。 – Jesse 2013-05-12 14:16:11