1

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

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

刷新成功。

0 项已刷新。

0 项无法刷新。请联系您的系统管理员。

此外,当我尝试编辑 SPListItem 时,显示在主要外部查找列中的值(这应该是一个有效值)我很高兴看到文本框下方显示的消息:

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

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

我猜测我的外部内容类型、Bdc 模型、特定 Finder 方法有问题,该方法负责检索特定实体结果的数据,但我只是不确定如何准确识别问题所在。

4

1 回答 1

1

OK. So I figured out the problem.

I had created Identifiers for ALL of my entity's properties instead of just creating identifiers for only the properties that makes the specific entity unique! I had created identifiers for properties that had null values and others that were of type DateTime that do not at all uniquely identify the entity. As a result, when trying to perform a refresh on the external list data, it was trying to retrieve the external data for each of the individual list items with the assumption that every single column/field in the external list was part of the unique identifier for a particular list item. Obviously that prevented the data from refreshing correctly.

于 2013-11-26T21:27:14.187 回答