0

我有一个模型类,它有一个属性,与之相关的详细信息表列表。

例如,我的主表包含有关包裹的数据(日期、成本、数量)

明细表包含有关包装中的件数(长度、数量、数量、宽度......)

我已经将我的主表绑定到一个datagridview:

dgvAssemblages.DataSource = bsAssemblage
For Each objTmp As Object In lstTmp
    bsAssemblage.Add(objTmp)
Next
bsAssDet.DataSource = bsAssemblage
'bsAssDet.DataMember = "Details"

在这里,bsAssemblage 是主 bindingSource,bsAssDet 是 Details 之一。

我不明白数据成员的事情,我知道我必须在其中输入表的名称,但只有当我输入字段的名称时它才有效......

此外,如果 bindingSource 为空,它会出错,所以我必须在绑定之前检查是否为空:S

所以,我已经有详细信息网格来填充事件(OnEnter),但我已经看到它应该可以让它自动绑定......

任何人都可以帮助我,也许解释一点锄头数据成员应该可以工作:S

提前致谢!

4

1 回答 1

0

很好,我终于找到了如何链接网格!

问题是,我做错了几件事:S

这是我的新代码:

dgvAssemblages.AutoGenerateColumns = True
dgvAssDet.AutoGenerateColumns = True
bsAssemblage.DataSource = reqTable(Of tabAssemblage_Entete)("Assemblage_Entête", intCurrentProject) 'lstTmp
dgvAssemblages.DataSource = bsAssemblage
reqAssemblageDetails(intCurrentProject, dgvAssemblages.DataSource.List) 'Loads the Details
dgvAssDet.DataSource = bsAssemblage
dgvAssDet.DataMember = "Details"

我不确定是什么让它一切正常,我猜 AutoDenerateColumns 是为了这个。

此外,reqTable 不是用(Of tabAss ...)键入的,所以它现在知道 dataSource 中的字段是什么,即使是空的,当我第一次编写代码时,它不是那样的,

反正现在干净多了!:)

于 2012-08-09T14:29:38.877 回答