C#wpf从列表框中获取ID

时间:2016-06-07 12:51:02

标签: c# wpf sql-server-2012 listbox

我遇到了问题,需要你的帮助。 这是我的主窗口:

Main Window

我用我的Sql Server 2012数据库中的表tbl_Training填充comboBox。 在SelectionChange上,我得到了ID并填写了ListBox:

 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();

现在我想从ListBox获取SelectChange上的ID_Participant。 我尝试了很多东西。这是我的第一次也是最后一次尝试:

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

selectedValue =“”
......可悲的是,它必须工作到tommorow。

1 个答案:

答案 0 :(得分:2)

您没有任何名为" ID_Participant"的列。在SQL的结果中。

SQL的第一行应该是

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

这就是你每次都得到一个空字符串的原因。