2012-03-25 47 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