【问题标题】:SharePoint 2007 Dynamic Filtered LookupSharePoint 2007 动态筛选查找
【发布时间】:2011-05-09 15:35:41
【问题描述】:

大家早上好。我正在寻求有关在 SharePoint 2007 中设置库模板的帮助。以下是详细信息:

  • 我有一个包含多个子站点的父站点。

  • 我想设置一个库模板,然后可以将其放置在每个子站点上。这些库将从父站点上的一系列集中列表中提取,以提供元数据选项。这样,我只需要维护一组列表,维护的列表信息将可供每个图书馆使用。

  • 因为库存在于主站点的子站点上,所以我不能使用简单的查找。常规查找列类型仅适用于当前站点内的列表。

  • 我可以访问过滤的查找列类型,这似乎是正确的选择,因为它允许我访问父站点上的集中列表。

我希望在基于此模板将文件上传到库时提示用户。选择文件后,用户会看到要填写的元数据选项列表。

  • 我想让第一个过滤查找为用户提供选择列表。这目前可以正常工作。

  • 我希望第二个过滤查找根据第一个过滤查找中的选择提供一个过滤选项列表。

  • 有一个用于 CAML 查询过滤器字符串的部分,这就是我挂断的地方。如何写一个字符串来引用一个字段而不是一个静态值?

这是我尝试过的。在 Apply Query Filter 字段中,我输入了:

<Where>
  <Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>Blue</Value>
  </Eq>
</Where>

这可行,但仅提供值为 Blue(静态字符串)的结果。我正在寻找一种方法来引用 Category 的实际选定值。它的效果是:

<Where>
  <Eq>
    <FieldRef Name='Category' /><Value Type='Lookup'>[Category.Value]</Value>
  </Eq>
</Where>

我现在的问题是我不知道正确的语法,或者这种语法是否存在。

非常感谢您的建议。我不喜欢这种方法,所以如果有其他方法可以实现相同的目标,我很乐意接受。

【问题讨论】:

    标签: sharepoint-2007 argument-dependent-lookup filtered-lookup


    【解决方案1】:

    这是一个老问题,但我刚刚偶然发现 - 如果用户仍然需要帮助,我想我会回答的。 你可以通过两种方式做到这一点: 1.回调 2.查询字符串

    无论哪种方式都可以正常工作,并将数据提供给您的查询。诀窍是添加一个查找参数,例如:

    <ParameterBinding Name="Category" Location="Control(Filter1)" DefaultValue=""/>
    

    或

    <ParameterBinding Name="Category" Location="QueryString(Filter1)" DefaultValue=""/>
    

    然后您可以在 SPDataSource 选择命令中引用 CAML 查询中的变量:

    <Where>
    <Eq>
        <FieldRef Name='Category' /><Value Type='Lookup'>{Category}</Value>
      </Eq>
    </Where>
    

    上面的{Category}变量名是ParameterBinding提供的名字。

    希望这会有所帮助。

    【讨论】:

    • 感谢 TeckniX 抽出时间回复原帖。我的问题与您提供的前两行代码有关。我将在哪里添加查找参数?遗憾的是,我从一个相当肤浅的层面使用 SharePoint,落入了虚假语法的范畴。因此,我没有太多在引擎盖下闲逛的经验。我安装了 SharePoint Designer,但除此之外,我不知道从哪里开始。如果可以的话,能否请您进一步指导我?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 2019-06-13
    • 2011-10-10
    • 2011-03-06
    • 1970-01-01
    • 2021-12-21
    • 2017-12-03
    相关资源
    最近更新 更多