-1

listvewにデータのリストがあり、リストの各行に1つの詳細ボタンを追加します。私のコマンドは、ボタンをクリックしてempIdをバインドし、そのすべてのユーザーデータを含む新しいリストをロードすることです。

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

単純に機能しません...データが表示されません

4

1 に答える 1

-1

デバッガーを使用して empID の値を調べましたか?

empID には文字列 "{Binding Path=empID}" が含まれる可能性が高く、おそらく予想される ID 値ではありません。

CommandParameter は依存関係プロパティ/オブジェクトではないため、バインドできません。

MSDN ButtonBase.CommandParameter

于 2012-11-22T13:22:31.383 に答える