从主数据库刷新后,外部内容类型的辅助查找列不显示列表中的数据

时间:2013-11-26 16:11:57

标签: c# sharepoint bcs sharepoint2010-bcs lookup-field

我创建了一个SharePoint列表,其中包含一个外部列表的查阅列。我还指示SharePoint显示与列表中的主要外部查阅列相关的多个辅助列。

问题是,当我以编程方式将新的SPListItem添加到我的列表并为我的SharePoint门户中的列表视图设置主查找字段的SPLookupValue(工作正常)后,我在主字段中看到了值但是当我单击列标题中的绿色“刷新外部列表数据”图标以将外部列表中的数据加载到辅助字段时,我收到以下消息。

  

刷新成功。

     

0项已刷新。

     

0件商品无法刷新。联系您的系统管理员。

此外,当我尝试编辑SPListItem时,显示在主外部查阅列中的值(应该是有效值)我问候文本框下面显示的消息是:

  

“未找到完全匹配。单击未解析更多选项的项目。您还可以使用选择按钮选择外部数据。”

当我点击图标选择外部数据时,我会弹出一个窗口/对话框,允许我从外部列表中选择项目。所有数据都正确显示。没有错误。但是,当我实际选择其中一行并单击“确定”时,我会收到相同的红色错误消息,指出 “未找到完全匹配...”

我猜我的外部内容类型,Bdc模型,特定Finder方法有问题,负责检索特定实体结果的数据,但我只是不确定如何确定究竟是什么错误

1 个答案:

答案 0 :(得分:1)

行。所以我想出了问题。

我为所有实体的属性创建了标识符,而不是仅为使特定实体唯一的属性创建标识符!我为具有空值的属性创建了标识符,而为DateTime创建了完全没有唯一标识实体的其他标识符。因此,当尝试对外部列表数据执行刷新时,它试图检索每个列表项的外部数据,并假设外部列表中的每个列/字段都是唯一标识符的一部分对于特定的列表项。显然,这会阻止数据正确刷新。