private void LoadList()
{
if (trvGroup.Nodes.Count == 0)
{
lvContact.Clear();
return;
}
if (trvGroup.SelectedNode.Index >=0)
{
string strGroup = trvGroup.SelectedNode.Text;
try
{
lvContact.Clear();
lvContact.Columns.Add("姓名", 100);
lvContact.Columns.Add("工作單位", 150);
lvContact.Columns.Add("聯系電話", 100);
lvContact.Columns.Add("電子郵箱", 150);
SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select 編號,姓名,工作單位,聯系電話,電子郵箱 from 聯系人 where 組別='" + strGroup + "'";
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
while (sdr.Read())
{
ListViewItem lvi = new ListViewItem();
lvi.Text = sdr["姓名"].ToString();
lvi.SubItems.Add(sdr["工作單位"].ToString());
lvi.SubItems.Add(sdr["聯系電話"].ToString());
lvi.SubItems.Add(sdr["電子郵箱"].ToString());
lvi.Tag = sdr["編號"];
lvi.ImageIndex = 0;
lvContact.Items.Add(lvi);
}
sdr.Close();
conn.Close();
}
catch
{ }
}
}
private void trvGroup_AfterSelect(object sender, TreeViewEventArgs e)
{
LoadList();
}
private void trvGroup_MouseDown(object sender, MouseEventArgs e)
{
if ((sender as TreeView) != null)
{
trvGroup.SelectedNode = trvGroup.GetNodeAt(e.X, e.Y);
}
}
private void lvContact_SelectedIndexChanged(object sender, EventArgs e)
{
}
我就是在treeview中但一個節點,然後把它對應在數據庫中的內容顯示在一個listview中。但是結果listview一直顯示第一個節點的內容,單擊之後沒有反應。
求大神解救啊,小弟最近剛剛自學C#,很多東西還不太明白。
你一會兒用trvGroup
一會兒用treeview
,是不是多個TreeView的事件關聯到同一個處理過程中了?