2016-06-07 5 views
0

У меня проблема, и вам нужна ваша помощь. Вот мое главное окно:C# wpf Получить идентификатор из списка

Main Window

я заполняю COMBOBOX с таблицей tbl_Training С моей Sql Server 2012 Database. На 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(); 

Теперь я хочу, чтобы получить ID_Participant на SelectChange от ListBox. Я пробовал много чего. Это была моя первая и последняя попытка:

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

SelectedValue = «»
... К сожалению, он имеет работать до Завтра.

ответ

2

У вас нет столбца с именем «ID_Participant» в результате SQL.

Первая строка вашего SQL должна быть

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

Вот почему вы получаете пустую строку каждый раз.

+0

Я чувствую себя настолько глупым xD .... Я искал дни ... Спасибо – Plender

+0

Это всегда простые вещи, которые нас трогают. Совершенно никаких проблем. –

Смежные вопросы