当我从列表视图中单击“项目”时,我需要帮助才能获得响应。知道有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)
{
}
}
答案 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_SelectedIndexChanged
是Form1.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;
}
}
}