0

現在、linq を使用して WPF Datagrid で問題が発生しています。現在、3 つのテーブルからデータグリッドにレコードのグループを表示しています。これは正常に機能し、すべての関連情報を正しく取得します。

ただし、データグリッドをロードして、たとえば 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)
                                });
4

3 に答える 3

1

ToList()クエリの最後でa を試してください。

于 2012-02-27T17:06:22.310 に答える
1

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

于 2013-07-24T14:56:33.917 に答える
0

「結合などを使用して、より複雑な linq クエリを作成しようとしました。」

それは決して助けにはなりません。

人間が読める (コンピューターだけでなく) プログラムを作成します。そして、その繰り返しの中で問題と解決策が見つかることは間違いありません。

于 2012-02-27T17:09:16.303 に答える