kendo-template绑定中row-template中的多行

时间:2017-02-24 10:27:50

标签: kendo-ui telerik

我需要一个使用kendo绑定的表结构,我有一个行模板和项模板,因为我有红色telrik(kendo)文档,它说行模板中只允许一行。要求是我想要在row-template中有多行。但是只要我添加多行就会只为第一行呈现。

<script type="text/kendo-template" id="tableEditRows">
 <tr class="tableRow"  data-bind="source:cells" data-template="tableEditCell"></tr>
    <tr> 
        <td >testsal</td>
    </tr> 
  </script>
<script type="text/kendo-template" id="tableEditCell">
    <td class="tableCell" align="center">
        <p>value</p>
    </td>
</script> 
<div  id="numeric" ></div>
<script>
  var table = $('<table class="tableEdit"  style="width:200px">' +
                '<tbody align="center" data-bind="source:rows"  data-template="tableEditRows">');
                $("#numeric").append(table);
var viewModel = kendo.observable( {
  rows:[{
        cells:[{
                Id:1,
            Value:"asas"
      }]
  },{
        cells:[{
                Id:1,
            Value:"asas"
      }]
  }]
});

kendo.bind($(“#numeric”)。get(0),viewModel); 这里有我正在尝试的链接http://dojo.telerik.com/ifoBA/3。 有没有办法在行模板中实现多行?

1 个答案:

答案 0 :(得分:0)

我能够通过使用静态模板来解决这个问题,因为我有一组固定的行。我创建了一个html模板,在其中我为每一行使用for循环,并为每一行调用了一个item-template在<tr>标记内。除此之外,我还有一个额外的行模板来了解更多details.below是一个代码片段,以显示我所做的事情。

        <script type="text/html" id="testTemplate" > 
         #for(var i=0;i<rows.length;i++){#
           <tr class="tableRow" data-bind="source:rows[#=i#].cells" data-template='tableEditCell'></tr>
           #if(rows[i].index==0){#
            <tr  >
                <td class="tableCell" >
                       some value
                </td>
            </tr>
              #}#
            #}#
        </script>    

这是模板的编译和追加

var table = $('<table class="elvi"><tbody  align="center"></tbody></table>');
    var template = kendo.template($("#testTemplate").html());
      var itemHtml = template(self.viewModel);
                table.append(itemHtml);
                table.appendTo($(self.element));