zoukankan      html  css  js  c++  java
  • Sharepoint中为列表添加自定义的菜单项

    Sharepoint中为列表添加自定义的菜单项

    项目需求需要在列表中添加自定义的菜单项以实现某些特定的功能,这里就把实现的过程和大家分享一下。主要有一下几个步骤:

    1)       创建内容类型ContentType

    Element.xml文件的代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <!-- 父内容类型: 项目 (0x01) -->
      <ContentType ID="0x0100b06c65fb90e74832b61609d1a82cafe7"
                   Name="CT-Information"
                   Group="研究院"
                   Description="信息"
                   Inherits="FALSE"
                   Version="0">
        <FieldRefs>
          <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" DisplayName="标题"/>
          <FieldRef ID="{9EBAD2D9-1346-489D-AEAF-67F21186845C}" Name="Information_Content" DisplayName="信息内容"/>
              </FieldRefs>
    
        <XmlDocuments>
          <XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
            <FormTemplates  xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
              <Display>DIS_CatrShowForm</Display>
              <Edit>DIS_CatrAddForm</Edit>
              <New>DIS_CatrAddForm</New>
            </FormTemplates>
          </XmlDocument>
        </XmlDocuments>
      </ContentType>
    </Elements>
    

      

    2)       接下来创建一个CustomAction文件

    Element.xml的代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
      <CustomAction Id="e157dacd-cd1a-42ba-b0ef-45296243b2aa" Title="推荐" 
        RegistrationType="List"
        RegistrationId="10090"
        Location="EditControlBlock"
        Sequence="1000">
        <UrlAction Url="javascript:var options={url:'/_layouts/Bingosoft.DIS/Recommend/Recommend.aspx?ID={ItemId}&List={ListId}',title:'推荐信息',700,height:600};SP.UI.ModalDialog.showModalDialog(options);"/>
      </CustomAction>
    </Elements>
    

      

    需要着解释的即文中红色标注的节点的内容。

    由节点的名称CustomAction可以看出该节点主要用来创建自定义的菜单项,一下就是其各个属性对应的含义:

    Title:菜单项的名称,本例为:“推荐“

    RegistrationType:要注册的类型,本例为列表

    RegistrationId:要注册绑定的定义好的列表模板的类型

    节点边的子节点:UrlAction:该节点的作用主要是给自定义的action添加一个url,就如同我们点击列表项右键的编辑菜单项,然后就会弹出一个编辑页一样的效果。

    本例中主要是实现一个推荐的菜单项,UrlAction中Url属性的值为一段js代码,主要实现的作用为:打开一个SP.UI.ModelDialog对话框显示出一个模态页面。

    这段代码的意思为:

    首先定义一个参数项options

    url:为要展示的页的Url,这里有两个参数分别为当前选择的项的id即ItemID和当前的List列表的ID即ListId,这样我们在弹出的页面的Page_Load函数里,通过这两项即可获得所需的列表项的所有信息。

    Withd,height,设置弹出的模态页的宽高

    然后调用SP.UI.ModelDialog.showModelDialog(options),并将之前定义好的参数集合项传递作为参数传递给弹出的模态页。

    3)       在弹出的模态对话框的中的Page_Load函数里做以下处理

     if (Request["ID"] != null && Request["List"] != null)
                    {
                        SPList spList = SPContext.Current.Web.Lists[new Guid(Request["List"].ToString())];
                        SPListItem spItem = spList.GetItemById(Convert.ToInt32(Request["ID"].ToString()));
                    }
    
    红色标记的那两行代码即获取用户操作的List列表,获取列表中的用户操作的那一项,然后就根据各自的需要通过spItem[“索引”]的形式获取你所需要的值吧。
    

      

    好了到这里就完成了List自定义的菜单项的创建。

    显示一下效果:

                           

    图3-1 列表自定义菜单项示意图

    到这里已经完成了为sharepoint创建自定义的菜单项,快来试试吧。

  • 相关阅读:
    Java异常处理和设计
    一次qps测试实践
    Alternate Task UVA
    Just Another Problem UVA
    Lattice Point or Not UVA
    Play with Floor and Ceil UVA
    Exploring Pyramids UVALive
    Cheerleaders UVA
    Triangle Counting UVA
    Square Numbers UVA
  • 原文地址:https://www.cnblogs.com/Olive116/p/3073562.html
Copyright © 2011-2022 走看看