如何在SharePoint的“任务列表”的新任务表单中显示所有字段?

时间:2014-05-12 14:34:48

标签: javascript .net sharepoint-2013

我在SharePoint中创建了一个任务列表。当我尝试添加新任务时,它会打开一个包含 TaskName,StartDate,DueDate,Description,AssignedTo 等可见字段的表单。当我点击'ShowMore'时,它会显示所有剩余的字段,例如 %complete,TaskStatus,Priority,Comments,ExpectedDueDate。 < / p>

问题:我希望所有字段从一开始就可见而不点击 'ShowMore' ,因为有些人可能会感到困惑使用此选项可能会跳过填写这些字段。请有人请建议如何实现这一目标。任何帮助是极大的赞赏。谢谢!

2 个答案:

答案 0 :(得分:1)

不幸的是,没有这样的设置允许在AFIK的任务中配置字段可见性 但是可以自定义任务表单以显示如下所示的所有字段。

由于它是SharePoint 2013环境,因此建议采用以下方法:

  • 创建渲染模板以显示New&amp;中的所有字段。编辑表格
  • 更新新任务中的任务Web部件编辑表单页面

模板文件

以下示例演示如何显示“任务”表单的所有字段:

(function () {


    function preTaskFormRenderer(renderCtx) {
       rlfiShowMore();
    }


    function registerRenderer()
    {
      var ctxForm = {};
      ctxForm.Templates = {};
      ctxForm.OnPreRender = preTaskFormRenderer;

      SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctxForm);
    } 
    ExecuteOrDelayUntilScriptLoaded(registerRenderer, 'clienttemplates.js');

})();

如何应用更改

  1. 将指定的脚本(将其命名为TaskForm.js)上传到SharePoint Site Assets
  2. 在编辑模式下打开新表单页面,然后转到任务Web部件属性
  3. 指定位于JS Link群组下的Miscellaneous媒体资源:~sitecollection/SiteAssets/TaskForm.js(见图1)
  4. 保存更改并重复编辑表单
  5. 的步骤2-4

    enter image description here

答案 1 :(得分:0)

我更喜欢JavaScript解决方法的其他方法来真正解决问题: 1.您可以更改分配给本地任务内容类型的列表表单,例如通过PowerShell:

$web = Get-SPWeb http://YourSharePointSite 
$list = $web.Lists["Tasks"] 
$ct = $list.ContentTypes[0] 
$ct.DisplayFormTemplateName = "ListForm" 
$ct.NewFormTemplateName = "ListForm" 
$ct.EditFormTemplateName = "ListForm" 
$ct.Update()
  1. 您可以设置通过SharePoint Designer分配给ListFormWebPart的列表表单
  2. 创建您自己的控件模板并添加ShowExpanded =&#34; true&#34;属性到TaskListFieldIterator控件
  3. 在请求查询字符串中传递Expanded = 1,如NewForm.aspx?Expanded = 1
  4. 更改本地任务内容类型的默认列顺序
  5. 所有这些都具有显示所有字段的效果,而不显示&#34;显示更多&#34;按钮。您可以在此处详细了解这些方法: http://pholpar.wordpress.com/2014/11/01/no-more-show-more-in-tasks-lists/