2012-02-27 26 views
0

現在、WPF Datagridでlinqを使用しています。現在、3つのテーブルのレコードグループをDataGridに表示しています。 。DatatGrid Linqを使用するItemsource最初に他のレコードを選択しないでください

しかし、私がデータグリッドを読み込んだときに、たとえば3番目のレコードをクリックすると、最初のレコードが選択され、それを変更することはできません。 Ctrl +クリックで最初のレコードの選択を解除できます。

私はなぜこれをやっているのか知っていないのですが、私のlinqクエリに絞り込みました、ジョインなどを使ってもっと複雑なlinqクエリを書こうとしましたが、同じデータを取得します。いいです...事前にありがとう

apptGrid.ItemsSource = (from o in DbList.OrderedAppointmentList() 
           from s in DbList.StaffList() 
           from c in DbList.ClientList() 
           where o.Appointment_Date == apptDatePicker.SelectedDate.Value 
           && o.Staff_Staff_ID == s.Staff_ID && o.Client_Client_ID == c.Client_ID 
           select new 
           { 
            o.Appointment_Date, 
            o.Appointment_Time, 
            o.Duration, 
            StaffName = 
             ((s.Middle_Name_s_ != null) ? s.First_Name + " " + s.Middle_Name_s_ + " " + s.Last_Name : s.First_Name + " " + s.Last_Name), 
            ClientName = 
            ((c.Middle_Name_s_ != null) ? c.First_Name + " " + c.Middle_Name_s_ + " " + c.Last_Name : c.First_Name + " " + c.Last_Name) 
           }); 
+0

私は質問がここで問題であるとは思わない。 – svick

+0

iveはそれをapptGrid.ItemSource = StaffList()に変更しました。データグリッドは正常に動作します – user1073290

答えて

1

質問の最後にToList()を試してみてください。

+0

同じ結果が得られますToList() – user1073290

+0

撮影。カウントを取得するには、apptGrid.ItemsSource.Items.Count.ToString()を試してください。 – Paparazzi

0

「IVEが使用して、より複雑なLINQクエリを記述しようとした参加するなど、」決して助けに行くんだ

人間が読める(コンピュータで読めるだけでなく)プログラムを作成します。そして、私は賭けることができます、あなたは問題とその反復の解決策を見つけるでしょう。

+0

説明できますか?私はそれが私がデータを取得していた方法だったかどうかを見るために、より複雑なlinqで1つを行ったと言うが、そうではない、私はsoemthingを上書きするかもしれないと思う – user1073290

1

私はあなたのようなものがありましたが、私は同じデータ情報を持つ行を追加すると選択が狂っているようです。私がしたことは、itemourceとしてlinqクエリを与えなかった場合、リストにすべての情報を入れ、次にアイテムソースに渡します。

関連する問題