ListView selectedindexchanged

时间:2012-03-25 01:14:44

标签: c# winforms listview select

当我从列表视图中单击“项目”时,我需要帮助才能获得响应。知道有selectindexchanged,但当我尝试显示一个MessageBox没有任何反应时,已经尝试了很多其他的东西,但没有设法提出一些东西。

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)
    {

    }
}

3 个答案:

答案 0 :(得分:6)

假设81.private void listView1_SelectedIndexChanged已正确链接到列表视图,您需要查询列表视图以找出所选内容:

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.
}

答案 1 :(得分:0)

通过术语“当我尝试显示MessageBox以便没有任何反应”时,我假设您只是将MessageBox.Show("blah");放在事件处理程序中并且从未显示它。

如果是这种情况,则您的事件处理程序未正确挂钩到表单的列表视图。返回查看文本listView1_SelectedIndexChangedForm1.Designer.cs文件中的任何位置。

如果不是(或者无论如何),请从新表格开始。这是最简单的出路。 :)

答案 2 :(得分: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;
                }
        }
    }