0

嘿,我目前在使用 linq 的 WPF Datagrid 时遇到问题,目前我正在将三个表中的一组记录显示到一个数据网格中,这工作正常,我正确检索了所有相关信息。

但是,当我加载数据网格并单击例如第三条记录时,它会选择第一条记录并且我无法更改它。我可以使用 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 查询作为 itemsource 提供,而是将所有信息放入 List 中,然后将其传递给 item 源。

于 2013-07-24T14:56:33.917 回答
0

“我尝试使用连接等编写更复杂的 linq 查询,”

那永远不会有帮助。

编写一个人类可读的程序(而不仅仅是计算机可读的)。我敢打赌,你会在那次迭代中找到问题和解决方案。

于 2012-02-27T17:09:16.303 回答