2016-06-07 103 views
0

我遇到了问题,需要您的帮助。 这里是我的主窗口:C#wpf从列表框中获取ID

Main Window

我填与表tbl_Training下拉框中从我的SQL Server 2012数据库。 在SelectionChange我得到的ID,并填写列表框:

string selectedValue = Convert.ToString(comboTraining.SelectedValue); 
string sqlStrGridFill = @"SELECT (P.FirstName + ' ' + P.LastName) as Name 
            FROM tbl_Participant P 
            INNER JOIN tbl_Training T 
            ON P.ID_Training = T.ID_Training 
            WHERE P.ID_Training ="+ selectedValue +";"; 


      conn.Open(); 
      SqlDataAdapter da = new SqlDataAdapter(sqlStrGridFill, conn); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 

      lbParticipantList.ItemsSource = dt.DefaultView; 
      lbParticipantList.DisplayMemberPath = Convert.ToString(dt.Columns["Name"]); 
      lbParticipantList.SelectedValuePath = "ID_Participant"; 
      conn.Close(); 

现在我希望得到ID_Participant从列表框SelectChange。 我尝试了很多东西。这是我第一次和最后一次尝试:

string selectedValue = Convert.ToString(lbParticipantList.SelectedValue); 

了selectedValue =“”
......可悲的是它,直到明天的工作。

回答

2

您的SQL结果中没有任何名为“ID_Participant”的列。

你的SQL的第一行应该是

SELECT ID_Participant, (P.FirstName + ' ' + P.LastName) as Name 

这就是为什么你每次都得到一个空字符串。

+0

我觉得这么愚蠢的xD ....我搜索了几天...谢谢 – Plender

+0

它总是简单的事情,绊倒我们。没有问题。 –