0

我使用 .NET Assembly Connector 开发了自定义业务数据连接解决方​​案。它确实具有 Finder 方法的比较类型过滤器。

我现在可以从编辑视图创建外部列表并使用数据源过滤器 - 它可以工作。我还可以添加业务数据连接过滤器 Web 部件,将其连接到外部列表 - 它可以工作。

我的问题:如何以编程方式过滤外部列表?

我不想在编辑列表视图或 BDC 过滤器 Web 部件的“选择外部项目”对话框中输入值。我希望在页面加载时计算值,例如,值 = 网站名称,

换句话说,是否可以自己实现业务数据连接过滤器 Web 部件?它应该工作一次,我不想更改过滤器值。

有任何想法吗?

4

1 回答 1

0

这是我的发现。

首先,我通过从 wsp 包中导入 List 为我的外部列表准备了 Elements.xml 和 Schema.xml,如http://blog.voltje.be/2010/07/23/deploying-an-external-list-中所述使用-visual-studio-2010/comment-page-1/

希望 Schema.xml 确实包含带有值的所需过滤器,如下所示:

<View DisplayName="My View name" ...>
   <XslLink>main.xsl</XslLink>
   <Method Name="ReadList">
   <Filter Name="My Comparison filter" Value="My Value" />
   </Method>
   <Query>

......

然后我尝试了两种方法:

1)使用 SPView.SetViewXml (如http://sharepointfordeveloper.blogspot.ru/2011/11/sharepoint-2010-update-default-list.html中所述)

它似乎不适用于外部列表 :(( 我的意思是在导入带有视图的 xml 时,未设置过滤器的值,原因不明。

2)通过使用基于上述Elements.xml和Schema.xml的List Instance。它工作得很好,新列表是使用过滤器和值创建的。拳头方式对我来说会好得多...

于 2013-01-25T13:29:05.330 回答