Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何修改自定义字段在sharepoint列表(allitems视图)上的外观?_Asp.net_Sharepoint_Custom Field Type - Fatal编程技术网

Asp.net 如何修改自定义字段在sharepoint列表(allitems视图)上的外观?

Asp.net 如何修改自定义字段在sharepoint列表(allitems视图)上的外观?,asp.net,sharepoint,custom-field-type,Asp.net,Sharepoint,Custom Field Type,我正在尝试编写一个自定义字段,它表示在任务上花费的时间。该字段源于NumberField(数字表示分钟),但我想在列表中显示为HH:MM。为此,我尝试覆盖fallowing函数: protected override void RenderFieldForDisplay(System.Web.UI.HtmlTextWriter output) { Label timeSpan = new Label(); timeSpan.Text = (

我正在尝试编写一个自定义字段,它表示在任务上花费的时间。该字段源于NumberField(数字表示分钟),但我想在列表中显示为HH:MM。为此,我尝试覆盖fallowing函数:

        protected override void RenderFieldForDisplay(System.Web.UI.HtmlTextWriter output)
    {
        Label timeSpan = new Label();
        timeSpan.Text = ((int)this.Value / 60).ToString() + ":" + ((int)this.Value % 60).ToString();
        timeSpan.RenderControl(output);
        //base.RenderFieldForDisplay(timeSpan.RenderControl());
    }
我不是ASP.NET开发人员,所以我试图避免定义DisplayTemplate

你能告诉我如何以编程的方式呈现它吗,或者只是把我推向正确的方向

解决方案

在Kusek answer的帮助下解决。在fldtypes_HourField.xml中:

<RenderPattern Name="DisplayPattern">
  <HTML><![CDATA[<div align='right'>]]></HTML>
  <Switch>
    <Expr>
      <Column />
    </Expr>
    <Case Value="" />
    <Default>
      <HTML><![CDATA[<script src="/_layouts/hourField.js"></script>]]></HTML>
      <HTML><![CDATA[<div><SCRIPT>formatHourField("]]></HTML>
      <Column />
      <HTML><![CDATA[");</SCRIPT></div>]]></HTML>
    </Default>
  </Switch>
</RenderPattern>

记住我以前尝试过的-此解决方案看起来非常简单:)

在“所有项目”视图中呈现的值不基于模板或控件。它是从

    <RenderPattern Name="DisplayPattern">
  <Switch>
    <Expr><Column /></Expr>
    <Case Value="" />
    <Default>
      <Column SubColumnNumber="1" HTMLEncode="TRUE" />
      <HTML><![CDATA[,&nbsp;]]></HTML>
      <Column SubColumnNumber="0" HTMLEncode="TRUE" />
    </Default>
  </Switch>
</RenderPattern>

已定义的字段架构的标记。显示模板定义其在显示表单中的显示方式。希望这有帮助

在CAML表示中获取格式将是一个小技巧。
您可以获得有关主题的一些信息。

在“所有项目”视图中呈现的值不基于模板或控件。它是从

    <RenderPattern Name="DisplayPattern">
  <Switch>
    <Expr><Column /></Expr>
    <Case Value="" />
    <Default>
      <Column SubColumnNumber="1" HTMLEncode="TRUE" />
      <HTML><![CDATA[,&nbsp;]]></HTML>
      <Column SubColumnNumber="0" HTMLEncode="TRUE" />
    </Default>
  </Switch>
</RenderPattern>

已定义的字段架构的标记。显示模板定义其在显示表单中的显示方式。希望这有帮助

在CAML表示中获取格式将是一个小技巧。 你可以得到一些关于这个主题的信息