如何在模板函数中串行传递两个参数。在剑道折线图中

时间:2015-11-20 08:54:18

标签: kendo-ui

我使用ASP.NET实现了一个Kendo折线图。如在显示的kendo示例中,我使用了系列{}来显示线条。我已经编写了自己的自定义模板。当鼠标悬停时,显示标记的标签。但是我需要将两个参数传递给该函数。

 series.Line(m => m.Values[0].value).Labels(lbl => lbl.Position(ChartPointLabelsPosition.Above).Visible(true).Template("#= formatLabelForEffort(category#"))

在上面的代码格式中,LabelForEffort()是在模板中编写的函数调用,它只有一个名为category的参数。我想在同一个函数中发送另一个论点。第二个论点是阵列。我将如何实现这一目标。请帮我解决这个问题。先感谢您。

1 个答案:

答案 0 :(得分:1)

我为您准备了这个演示: custom template passing in options.

您需要做的就是改变现有的功能:

.Template("#= formatLabelForEffort(category)#")

 .Template("#= formatLabelForEffort(category, dataItem)#")

只要数组是系列中绑定的原始数据模型的一部分,您就应该能够改变函数来处理代码。

然后使用我的函数版本:

function formatLabelForEffort(category,dataItem){
      var retString = '';
      console.log(dataItem);
      if (dataItem.myArray !== undefined && 
          dataItem.myArray !== null &&  
          dataItem.myArray !== null &&
          dataItem.myArray.length > 0)
      {
        retString = 'Category is:: ' + category + '\r\n' ;
        retString += kendo.stringify(dataItem.myArray) ;
      }
      else 
      {
        retString = 'Category is:: ' + category;
      }

      console.log(retString);

      return kendo.htmlEncode(retString);
    }

我们只需检查以确保数组存在,然后相应地返回一个字符串。

有关您可以传递给系列标签的更多信息,请查看以下链接:

series label template configuration

任何进一步的问题都会给我一个喊叫,我会尽我所能扩展。

相关问题