Function

$().SPServices.SPDisplayRelatedInfo

Certification

Functionality

SPDisplayRelatedInfo is a function in the jQuery Library for SharePoint Web Services that lets you display information which is related to the selection in a dropdown. This can really bring your forms to life for users: rather than just selecting bland text values, you can show them images and links that are related to their choices.

How Does It Work?

The SPDisplayRelatedInfo function works like this:

  • When the function is first called, it attaches an event handler to the dropdown control. The logic here varies a bit depending on what type of dropdown it is.
  • When the selected option in the dropdown changes, SPDisplayRelatedInfo calls two Lists Web Service operations:
  • GetList on the relatedList to get information about its columns (fields)
  • GetListItems to get the items where the specified column's value matches the current selection. Note that there can be multiple items returned; generally displayFormat: "table" makes more sense if you'll want to display multiple items.
  • For each column it's asked to display, SPDisplayRelatedInfo calls a private function (showColumn) to render the column value based on its type. Most of the normal column types are covered, though locale conversions can't be done from the client side (yet!). The related information is shown in a DIV which is inserted into the form. The DIV is named"SPDisplayRelatedInfo_" + columnStaticName in case you need to do any post-processing.

    NOTE: This function is only meant to be used on the NewForm or EditForm; it works when a dropdown's value is changed. If you'd like to do something similar on a DispForm, I'd recommend using a Data View Web Part (DVWP) with an AggregateDataSource.

    Tip: If you don't want to see the column headers, pass in ms-hidden for headerCSSClass. (This is a CSS class in core.css which sets display: none.)

    Prerequisites

  • You'll need to have a list (relatedList) which contains the values in the dropdown in one column and the related values you'd like to display in additional columns. If you're already using SPCascadeDropdowns, then you'll already have a list (or lists) in place which you can use here.

    Here is an example of the form where you want to use SPDisplayRelatedInfo:

    In this example, I have a list called Systems, which has three columns:

    Syntax

    $().SPServices.SPDisplayRelatedInfo({
    columnName: "",
    relatedWebURL: "",
    relatedList: "",
    relatedListColumn: "",
    relatedColumns: [],
    displayFormat: "table",
    headerCSSClass: "ms-vh2",
    rowCSSClass: "ms-vb",
    numChars: 0,
    matchType: "Eq",
    CAMLQuery: "",
    matchOnId: false, // Added in v0.7.1
    completefunc: null,
    debug: true
    });

    columnName
    The DisplayName of the column in the form

    relatedWebURL
    The URL of the Web (site) which contains the relatedList. If not specified, the current site is used. Examples would be: "/", "/Accounting", "/Departments/HR", etc. Note: It's always best to use relative URLs.

    relatedList
    The name or GUID of the list which contains the related information. If you choose to use the GUID, it should look like: "{E73FEA09-CF8F-4B30-88C7-6FA996EE1706}". Note also that if you use the GUID, you do not need to specify therelatedWebURL if the list is in another site.

    relatedListColumn
    The StaticName of the column in the related list

    relatedColumns
    An array of StaticNames of related columns to display

    displayFormat
    The format to use in displaying the related information. The default is "table". The displayFormat takes one of two options:

  • "table" displays the matching items much like a standard List View Web Part would, in a table with column headers
  • "list" also uses a table, but displays the item(s) in a vertical orientation

    headerCSSClass
    If specified, the CSS class for the table headers. The default is "ms-vh2".

    rowCSSClass
    If specified, the CSS class for the table cells. The default is "ms-vb".

    numChars
    If used on an input column (not a dropdown), no matching will occur until at least this number of characters has been entered. The default is 0.

    matchType
    If used on an input column (not a dropdown), type of match. Can be any valid CAML comparison operator, most often "Eq" or "BeginsWith". The default is "Eq".

    CAMLQuery

    The CAMLQuery option allows you to specify an additional filter on the relationshipList. The additional filter will be <And>ed with the existing CAML which is checking for matching items based on the parentColumn selection. Bacause it is combined with the CAML required to make the function work, CAMLQuery here should contain a CAMLfragment such as:

    CAMLQuery: "<Eq><FieldRef Name='Status'/><Value Type='Text'>Active</Value></Eq>"

    matchOnId
    By default, we match on the lookup's text value. If matchOnId is true, we'll match on the lookup id instead. The default value is false.

    completefunc
    If specified, the completefunc will be called each time there is a change to columnName. Potential uses for the completefunc: consistent default formatting overrides, additional lookup customizations, image manipulations, etc. You can pass your completefunc in either of these two ways:

    completefunc: function() {

    ...do something...

    },

    or

    completefunc: doSomething, // Where doSomething is the name of your function

    debug
    Setting debug: true indicates that you would like to receive messages if anything obvious is wrong with the function call, like using a column name which doesn't exist. I call thisdebug mode.

    Examples

    $().SPServices.SPDisplayRelatedInfo({

        columnName: "System",

        relatedList: "Systems",

        relatedListColumn: "Title",

        relatedColumns: ["System_x0020_Image", "Lead_x0020_Sales_x0020_Rep"],

        displayFormat: "list"

    });

    So I'm asking SPDisplayRelatedInfo to show me the values in the System_x0020_Image and Lead_x0020_Sales_x0020_Rep columns (these are theStaticNames of the list columns as opposed to the DisplayNames) in the Systems list under the System column in my form using thelist display format where the System value matches theTitle value in the Systems list. I'm just taking the default CSS classes for the example. As you can see, you can pass in any CSS class you'd like to make the SPDisplayRelatedInfo output match your site branding.

    In this example, I'm displaying some information about the Region. To make the output look better, I'm doing a little post-processing on theTotal_x0020_Sales column. You'll see that I'm both prepending the value with "$" and right justifying it. In my case, the column isRegion and the Total_x0020_Sales column is the 4th one, so I'm using:nth-child(4).

    $().SPServices.SPDisplayRelatedInfo({

    columnName: "Region",

    relatedWebURL: "/Intranet/JQueryLib",

    relatedList: "Regions",

    relatedListColumn: "Title",

    relatedColumns: ["ID", "Country", "Title", "Total_x0020_Sales"],

    displayFormat: "table",

    completefunc: addDollarSigns,

    debug: true

    });

    function addDollarSigns() {

    $("#SPDisplayRelatedInfo_Region td:nth-child(4)").prepend("$").css("textAlign", "right");

    }

SPServices.SPDisplayRelatedInfo的更多相关文章

  1. Sharepoint 高级筛选

    先看看效果吧.............. 默认情况下:不做任何筛选. 添加一个筛选条件: 条件:如果是int类型那么可以有> < = 等 如果是string的话那么就没有这么多条件,当然这 ...

  2. SharePoint中报表选择

    Office 365中制作报表的方式很多. 这里介绍下使用js获取SharePoint List实现报表的一种方法 资源 Jquery 1.8.2 http://blog.jquery.com/201 ...

  3. 使用SharePoint Designer定制开发员工工作日志系统实例!

    昨天已介绍了一篇<使用SharePoint Designer定制开发专家库系统实例!>,今天继续来介绍使用SharePoint Designer定制开发员工工作日志系统实例,主要功能包括填 ...

  4. 使用SharePoint Designer定制开发专家库系统实例!

    将近大半年都没有更新博客了,趁这段时间不忙,后续会继续分享一些技术和实际应用.对于Sharepoint的定制开发有很多种方式,对于一般的应用系统,可以使用Sharepoint本身自带的功能,如列表作为 ...

  5. SharePoint List来做项目管理

    其实这是一个常见的问题,已经不仅仅只是一次用SharePoint List来做项目管理了. 核心 1. SharePoint List Lookup自己来实现项目的父子关系 2. 权限控制,直接控制在 ...

  6. 牛刀小试、用SharePoint 实现请假管理功能

    转:http://www.cr173.com/html/15518_1.html "请假管理"应用,应该算是 SharePoint 的"Hello World!" ...

  7. 利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)

    最近在利用SharePoint Server 2013的列表组织和存储数据,发现SharePoint列表原始不支持级联选择的功能. 谷歌百度一通以后,发现了很多通过代码实现的方案,利用第三方的插件sp ...

  8. 【SharePoint】SharePoint2013中使用客户端对象模型给用户控件赋初值

    本文要实现的功能:新建一条列表记录,打开新建记录画面时,自动给[申请人]赋值为当前登录用户. 在SharePoint2010中,可以使用SPServices的SPFindPeoplePicker方法来 ...

  9. 在sharepoint 2010创建级联下拉菜单

    SPServices是一个jQuery库,它提取SharePoint Web服务,并使其更容易使用.它可以使用不同的Web服务操作提供更有用且很酷的功能.它完全安装在客户端,不需要服务器. 用SPSe ...

随机推荐

  1. 判断JavaScript对象为null或者属性为空

    http://blog.csdn.net/yiluoak_47/article/details/7766760 首先说下null与undefined区别: 对已声明但未初始化的和未声明的变量执行typ ...

  2. Could not get BatchedBridge, make sure your bundle is packaged correctly

    react-native 运行android项目的时候运行成功但是模拟器上会提示: Could not get BatchedBridge, make sure your bundle is pack ...

  3. AssetBundle系列——游戏资源打包(二)

    本篇接着上一篇.上篇中说到的4步的代码分别如下所示: (1)将资源打包成assetbundle,并放到自定目录下 using UnityEditor; using UnityEngine; using ...

  4. AEM - Adobe CMS 扒坑记之始

    AEM是Adobe公司所出的商业内容管理系统,全称阿豆比体验管理系统(Adobe Experience Manager),其前身叫CQ,分别有CQ5 CQ6两个大版本.它提供了整套的网站内容管理系统解 ...

  5. Android 布局之TableLayout

    Android 布局之TableLayout 1 TableLayout简介 TableLayout是表格布局.TableLayout 可设置的属性包括全局属性及单元格属性. 1.1 全局属性 有以下 ...

  6. 参数嗅探(Parameter Sniffing)(2/2)

    在参数嗅探(Parameter Sniffing)(1/2)里,我介绍了SQL Server里参数嗅探的基本概念和背后的问题.如你所见,当缓存的计划被SQL Server盲目重用时,会带来严重的性能问 ...

  7. SQL Server 诊断查询-(3)

    Query #27 Database Properties    -- Recovery model, log reuse wait description, log file size, log u ...

  8. [转]easyui datagrid 批量编辑和提交

    web前台主要代码: <script type="text/javascript"> $(function() { var $dg = $("#dg" ...

  9. 【JS复习笔记】01 基本语法

    数字: JS只有一种数字类型,相当于double.(不知道为什么,我每次打double输入法都会出现逗比了三个字) NaN是一个数值,可以用isNaN(number)检测NaN Infinity表示所 ...

  10. 重新想象 Windows 8 Store Apps (45) - 多线程之异步编程: IAsyncAction, IAsyncOperation, IAsyncActionWithProgress, IAsyncOperationWithProgress

    [源码下载] 重新想象 Windows 8 Store Apps (45) - 多线程之异步编程: IAsyncAction, IAsyncOperation, IAsyncActionWithPro ...