2012-03-25 5 views
2

リストビューから「アイテム」をクリックすると、応答が得られるように助けが必要です。 selectindexchangedがあることを知っていますが、何も起こらないようにMessageBoxを表示しようとすると、他にもたくさん試しましたが、何かを考え出すことができませんでした。ListView selectedindexchanged

81.private、ボイドlistView1_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

+0

あなたはあなたが試したことと、あなたが直面している問題やエラーを見ることができますか? – Seany84

+0

私はWinFormsを使用しています。http://pastebin.com/zWanhwA4 – TheZozoOwner

答えて

6

私がしようとする」という用語で行く
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.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

こんにちは、スタックオーバーフローへようこそ!あなたの答えをありがとう、しかし、あなたのコードが何をしているのかについての説明を加えた場合、それがうまくいく理由は*より良い答えになるでしょう。 – Jesse

関連する問題