数据并不是每次都出现在数据网格中

本文关键字:数据 数据网 网格 并不是 | 更新日期: 2023-09-27 18:08:09

我有一个MDI应用程序,有2个窗口,每个窗口包含一个数据网格(实现DataGridView.CellValueNeeded)。我使用nhibernate从MSSQL数据库获取数据。

第一个窗口名为"雇员",包含姓名,街道,出生日期,…: class Employee

第二个窗口称为"工作时间记录",包含小时数,哪个项目,员工姓名,…: class WorkTimeRecording(这个类有一个Employee类型的变量)

当我打开我的应用程序时,只有"工作时间记录"窗口,所有数据都正确显示在网格中。当我打开两个窗口的应用程序时,员工的名字在工作时间记录数据网格中丢失了。
然后,我在员工数据网格中滚动到适当的人员(并且由于cellvaluenneeded,这个人的数据此时正在加载)。当我现在切换回工作时间记录数据网格时,名称显示正确。

但是我想,所有的数据都是直接显示的,不管哪个窗口是打开的。

有没有提示我可以从哪里开始搜索?

NHibernate映射

<class name="WorkTimeRecording" table ="[WorkTime-Recording]" lazy="false">
..
<property name="IDEmployee" column="[ID-Employee]" />

数据并不是每次都出现在数据网格中

解决方案是,我以前的同事实现了不同级别收集数据的功能。WorkTimeRecording类有不同的深度(基本、中等、完整—原因是为了获得性能,并且只是将数据加载到存储库,这是必需的)来填充实例。当我切换到complete时,无论打开哪个其他窗口,worktimerecding中的变量employee都被正确填充。

所以这不是一个不休眠的问题,因为我认为,但在正确的时间加载足够的数据…为了理解代码,其他人写了;)