zoukankan      html  css  js  c++  java
  • 如何定制列表项编辑页面(转)

     
    如何定制列表项编辑页面

    其实简单来说,如果你熟悉SharePoint开发,解决上面所说的这个问题就非常简单了。因为SPField有一个ShowInEditForm的属性,你只需要这样:

    SPField titleField = item.Fields["Title"];
    titleField.ShowInEditForm = false;


    但如果你不想用这样的方法,或者想了解更多对列表项编辑页面的定制,那就继续看下去。

    对列表项编辑页面最常见,也最方便的定制方法,就是使用SharePoint Designer打开这个页面直接进行修改。通常,通过往这个页面上添加相应的JavaScript脚本,就可以完成我们需要的效果。
    image

    比如下面的这个任务列表项的编辑页面,我们希望,它能够隐藏“标题”字段,同时,自动将“截止日期”所对应的文本框中的值设置为2008/1/1(是的,我知道要做到这个只需要更改字段默认值,但这不是重点...)。
    image 

    <script type="text/javascript" language="javascript">

    // 搜索对应到每个字段的文本输入框
    function searchFieldEditorElement(tagName, identifier, title) {
      var len = identifier.length;
      var tags = document.getElementsByTagName(tagName);
      for (var i=0; i < tags.length; i++) {
        var tempString = tags[i].id;
        if (tags[i].title == title && (identifier == "" || tempString.indexOf(identifier) == tempString.length - len)) {
          return tags[i];
        }
      }
      return null;
    }

    // 搜索对应到每个字段的“<TR>”标签
    function searchParentTR(element)
    {
        var parentElement = element.parentElement;
        if (parentElement == null)
        {
            return element;
        }
        if (parentElement.tagName.toLowerCase() == "tr")
        {
            return parentElement;
        }
        return searchParentTR(parentElement);
    }

    function setFieldControls()
    {
        // 将“标题”字段所对应的行隐藏起来
        var txtTitle = searchFieldEditorElement("input", "TextField", "标题");
        if (txtTitle != null)
        {
            var parentTr = searchParentTR(txtTitle);
            parentTr.style.display = "none";
        }

        // 将“截止日期”字段所对应的文本框的值设置成“2008/1/1”
        var txtEndDate = searchFieldEditorElement("input", "DateTimeFieldDate", "截止日期");
        if (txtEndDate != null)
        {
            txtEndDate .value = "2008/1/1";
        }
    }

    // 指定在页面载入后运行指定的JS函数
    _spBodyOnLoadFunctionNames.push("setFieldControls");

    </script>

  • 相关阅读:
    赫尔维茨公式
    从解析几何的角度分析二次型
    Struts 1 Struts 2
    记一次服务器被入侵的调查取证
    契约式设计 契约式编程 Design by contract
    lsblk df
    Linux Find Out Last System Reboot Time and Date Command 登录安全 开关机 记录 帐号审计 历史记录命令条数
    Infrastructure for container projects.
    更新文档 版本控制 多版本并发控制
    Building Microservices: Using an API Gateway
  • 原文地址:https://www.cnblogs.com/JustSoSo/p/1228728.html
Copyright © 2011-2022 走看看