我有一张软件表、一张系统表和一张已安装软件表(ID、SysID、SoftID)。我想将所有软件加载到 DataGridView,并且我的 DataGridView 有 3 列(ID、SoftName、已安装),ID 和 SoftName 是从 Softwares 加载的,installed 是一个复选框,当 InstalledSoftwares 表中存在记录时我要检查它软件。已安装的列未绑定,其 TrueValue 设置为 1,我将其填充到 ForEach 块中,如:
DGVIS.DataSource = Reports.installedSoftwares.Softwares();
IQueryable<InstalledSoftware> Installed = Reports.installedSoftwares.InstalledOn(SystemID);
foreach (var ins in Installed)
{
foreach (DataGridViewRow row in DGVIS.Rows)
{
if ((int)row.Cells["IDo"].Value == ins.SoftID)
{
row.Cells["installed"].Value = 1;
break;
}
}
}
但是当我运行应用程序时,所有复选框都未选中,当我跟踪它时,安装的行得到值 1,但是当 foreach 完成时,每个复选框都未选中并且值为 0(FalseValue 设置为 0)。
我怎样才能让它工作?