2012-11-22 173 views
-1

我在listvew中有數據列表,並且我還在列表的每一行中添加了一個「詳細信息」按鈕。 我的命令是通過點擊按鈕,按鈕綁定EMPID和加載包含所有用戶一個新的列表數據ListView項目已選擇在C#中顯示詳細信息頁面上的詳細信息WPF

<Button Name="detailshow" Click="Detailshow_Click" CommandParameter="{Binding Path=empID}"> 

,也是查詢:

Button _button = (Button)sender; 
      string empID = _button.CommandParameter.ToString(); 

      SqlCeConnection //stuffff 
      objCon.Open(); 

      String str = "SELECT e.empID, e.empname FROM employee e WHERE empID= " + empID; 

      SqlCeCommand cmd = new SqlCeCommand(str, objCon); 
      DataSet ds = new DataSet(); 

      ListViewEmployeeDetails.DataContext = ds.Tables[0].DefaultView; 


      cmd.ExecuteNonQuery(); 

那麼只要它不工作...它沒有顯示任何數據

回答

-1

您是否使用調試器並檢查empID的值?

empid將很可能包含字符串「{Binding Path = empID}」,而不是您可能期望的ID值。

CommandParameter不是依賴項屬性/對象,因此不可綁定。

MSDN ButtonBase.CommandParameter

+0

CommandParameter是一個DependencyProperty(http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.buttonbase.commandparameterproperty.aspx)。我不明白它會不會有什麼好處... –

+0

你說得對,我的錯。在wpf中有很多地方,參數只是普通的clr道具。 F.i. converterparameter。無論如何,你是否檢查命令參數是否具有預期值? – Grafix