Sharepoint Online - 查找字段 - 客户端呈现

时间:2017-03-22 12:42:48

标签: javascript sharepoint

基本上,我们希望在名为workbook的列表中名为episodes的另一个列表的计算列中使用查找值。

我们可以使用这个 -

运行预定列表工作流程

https://plumsail.com/workflow-actions-pack/

或者让某人写一个计时器工作。

我真的不喜欢这些解决方案,想要更有活力的东西,然后发现:

https://sharepoint.stackexchange.com/questions/128479/lookup-column-in-calculated-column-formula + http://viewmaster365.com/#/home

丹尼的小小骇客。但是为了重新设计代码而苦苦思索,看看我是否可以从名为episode的列表中显示查找值。

Dannys代码:

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode,"
    &"    item=ctx.ListData.Row[TR.rowIndex-1],"
    &"    discount=item.Vendor_x003a_Discount,"
    &"    price=item['Price.'];"
    &"console.log(discount,price,item);"
    &"this.parentNode.innerHTML=discount*price;"
&"}"">"

My Botched Version:

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
  &"var TR=this.parentNode.parentNode.parentNode,"
  &"item=ctx.ListData.Row[TR.rowIndex-1],"
  &"deact=item.epslook_x003a_DeActTime,"
  &"console.log(deact,item);"
  &"this.parentNode.innerHTML=deact;}"">"

在工作簿epslook中尝试查找名称:deActTime和剧集:deActTime。

我哪里错了?

1 个答案:

答案 0 :(得分:0)

很抱歉再次重定向

您现在正在通用StackOverflow论坛中提问

https://sharepoint.stackexchange.com/是一个完整的专用论坛,这是人们期待SharePoint问题的地方;如果你没有把链接邮寄给我,我永远不会看到这个问题。

至于你的问题,公式中的这些代码位非常非常难以调试。你必须一步一步地构建它们

免责声明:我没有尝试过以下代码,因此可能会出现错别字!!

1

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode,"
    &"    item=ctx.ListData.Row[TR.rowIndex-1];"
    &"console.log(item);"
&"}"">"

这应该可行,如果没有..休斯顿我们有问题

控制台现在应该为您提供您所追求的变量的确切名称

2

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode,"
    &"    item=ctx.ListData.Row[TR.rowIndex-1];"
    &"console.log(item.epslook_x003a_DeActTime);"
&"}"">"

3

现在请注意,在您的版本中,您的JavaScript是错误的。你混淆声明和陈述是因为不合适,而且;使用

所以我们简化(并编写更长的代码)来尝试防止错误(注意,成为了;)

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode;"
    &"var item=ctx.ListData.Row[TR.rowIndex-1];"
    &"console.log(item.epslook_x003a_DeActTime);"
&"}"">"

4

所以(如果项目键是正确的)这应该有效:

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode;"
    &"var item=ctx.ListData.Row[TR.rowIndex-1];"
    &"var deact=item.epslook_x003a_DeActTime;"
    &"console.log(deact,item);"
    &"this.parentNode.innerHTML=deact;}"">"

你写的地方: (您正在尝试将控制台语句声明为变量

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode,"
    &"item=ctx.ListData.Row[TR.rowIndex-1],"
    &"deact=item.epslook_x003a_DeActTime,"
    &"console.log(deact,item);"
    &"this.parentNode.innerHTML=deact;}"">"

5

一旦你知道它有效......你可以......仔细!!! ..让代码更小

=" <img src=""/_layouts/images/blank.gif"" onload=""{"
    &"var TR=this.parentNode.parentNode.parentNode;"
    &"this.parentNode.innerHTML=ctx.ListData.Row[TR.rowIndex-1].epslook_x003a_DeActTime;}"">"

另请注意,还有更多SharePoint帮助程序功能。

我已将ICC text-tag添加到计算列中使用此HTML / JS的所有有趣的StackExchange Answers:

https://sharepoint.stackexchange.com/search?tab=votes&q=ICC