来自内联模板的kendo工具提示的kendo网格不起作用

时间:2015-09-08 05:12:43

标签: angularjs kendo-ui kendo-grid kendo-template kendo-tooltip

我有一个kendo Grid,工具提示在kendo工具提示中显示详细信息。以下模板用作外部模板时起作用。但是,我不确定模板是否可以作为内联模板传递。

这是我的代码, 外部模板

    <script id="javascriptTemplate" type="text/x-kendo-template">
    <ul>
    # for (var i = 0; i < data.applications.length; i++) { #
        <li>#= data.applications[i].name #</li>
    # } #
    </ul>
   </script>

并在控制器中调用,

    $scope.toolTipOptions = {
            filter: "td:nth-child(4)",
            position: "right",
            content: function(e) {
                var grid = e.target.closest(".k-grid").getKendoGrid();
                var dataItem = grid.dataItem(e.target.closest("tr"));
                var template = kendo.template($("#javascriptTemplate").html());
                return template(dataItem);    
          },
          show: function(e) {
            this.popup.element[0].style.width = "200px";
            this.popup.element[0].style.left = "10px";
          }
    }

但是当我尝试传递内联模板时,它会抱怨模板不是函数。关于如何在这种情况下传递内联模板的任何指针

      $scope.toolTipOptions = {
            filter: "td:nth-child(4)",
            position: "right",
            content: function(e) {
                var grid = e.target.closest(".k-grid").getKendoGrid();
                var dataItem = grid.dataItem(e.target.closest("tr"));

                var template = "<ul>\# for (var i = 0; i < data.applications.length; i++) { #<li>#= data.applications[i].name #</li>\# } #</ul>"
                return template(dataItem);    
          },
          show: function(e) {
            this.popup.element[0].style.width = "200px";
            this.popup.element[0].style.left = "10px";
          }
    }

1 个答案:

答案 0 :(得分:0)

在第二个解决方案中,您可能只需要 validates :my_attribute, presence: :true, if: :user_signed_in? validates :my_attribute, presence: :false, unless: :user_signed_in? 。在您的代码中,kendo.template()在上面的一行中定义为字符串。