Kendo ui 剑道格网:如何显示列表<;字符串>;在一个牢房里?

Kendo ui 剑道格网:如何显示列表<;字符串>;在一个牢房里?,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我试图遍历列表并将所有元素显示到列中的一个单元格中,但在使其正常工作时遇到了问题 这是我到目前为止所拥有的 在网格定义中: columns.Bound(x => x.locationList).Title("Locations Included").ClientTemplate("#= iterate(x.locationList) #"); 其中x.locationList是传入对象中的列表 在中: 函数迭代(对象){ var html=“”; 对于(var x=0;x0){ forE

我试图遍历列表并将所有元素显示到列中的一个单元格中,但在使其正常工作时遇到了问题

这是我到目前为止所拥有的

在网格定义中:

columns.Bound(x => x.locationList).Title("Locations Included").ClientTemplate("#= iterate(x.locationList) #");
其中
x.locationList
是传入对象中的
列表

中:

函数迭代(对象){
var html=“
    ”; 对于(var x=0;x”; html+=object[x]; html+=“”; } html+=“
”; 返回html; }
但是,这会导致所有记录消失。执行此操作的正确语法是什么


这些文档令人困惑,而且大多数示例都不适用于我想要介绍的内容。

为此,您需要制作一个专栏模板

请看下面的答案

调用模板的Jquery

var scriptTemplate = kendo.template($("#MessageBoxTemplate").html())
var scriptData = { stringList: yourListofString  };
模板内的Foreach循环

<script id="MessageBoxTemplate" type="text/x-kendo-template">
    <div class="class1"> 
        <div>This is <strong>bold </strong>text.</div>
        <div> </div>
        <div>This is <em>italics</em> text.</div>
        <div> </div>
        <div>This is a <a href="http://google.com/">hyperlink</a>.</div>
        <div> </div>
        <div>Bulleted list:</div>
        <ul>
           for(var item; item<=stringList.length;item++)
           {
            <li>#= item.Age#</li>
            <li>#= item.Name#</li>
            <li>#= item.Message#</li>
            }
        </ul>
     </div>
</script>

这是粗体的文本。
这是斜体文本。
这是一个很好的例子。
项目列表:

    for(var-item;itemShaz的解决方案对我不起作用。不确定我是否使用了其他版本,但它缺少一些散列。需要它们来定义什么是javascript,什么不是javascript

    <script id="MessageBoxTemplate" type="text/x-kendo-template">
    <div class="class1"> 
        <div>This is <strong>bold </strong>text.</div>
        <div> </div>
        <div>This is <em>italics</em> text.</div>
        <div> </div>
        <div>This is a <a href="http://google.com/">hyperlink</a>.</div>
        <div> </div>
        <div>Bulleted list:</div>
        <ul>
           #for(var item; item<=stringList.length;item++)
           {#
            <li>#= item.Age#</li>
            <li>#= item.Name#</li>
            <li>#= item.Message#</li>
            #}#
        </ul>
     </div>
    
    
    这是粗体的文本。
    这是斜体文本。
    这是一个很好的例子。
    项目列表:
    

      #对于(var-item;item,您可能已经有了答案,但您的实现并没有那么大的错误。您所忘记的是,如果列表为null或为空,则会发生什么情况,这可能会使您的网格崩溃

      因此,修改您的代码:

      function iterate(object) {
              var html = "<ul>";
      
              for (var x = 0; x < object.length; x++) {
                  html += "<li>";
                  html += object[x];
                  html += "</li>";
              }
      
              html += "</ul>";
              return html;
      }
      
      函数迭代(对象){
      var html=“
        ”; 对于(var x=0;x”; html+=object[x]; html+=“”; } html+=“
      ”; 返回html; }

      函数迭代(对象){
      var html=“
        ”; 如果(object!==null&&object.length>0){ 对于(var x=0;x”; html+=object[x]; html+=“”; } }否则{ html+=“
      • -
      • ”; } html+=“
      ”; 返回html; }
      或者,您可以这样做:

      function iterate(object) {
          var html = '<ul>';
          if (object !== null && object.length > 0) {
              object.forEach(function (data) {
                  html += '<li>' + data + '</li>';
              });
          } else {
              html += '<li>-</li>';
          }
          html += '</ul>';
          return html;
      }
      
      函数迭代(对象){
      var html='
        '; 如果(object!==null&&object.length>0){ forEach(函数(数据){ html+='
      • '+data+'
      • '; }); }否则{ html+='
      • -
      • '; } html+='
      '; 返回html; }
      最后一个解决方案是我的首选(我只是觉得它更容易阅读)

      显然,如果你想展示更复杂的东西,其他答案会为你提供一个解决方案


      无论如何,希望这能有所帮助。

      你离剑道网格的定义太近了!在传递到
      迭代
      函数时,只需将
      x.locationList
      替换为
      locationList
      ,你就可以开始了!(下面的修复完整行)


      如何遍历列表并显示它?我不知道大小,因此无法确定div的大小
      function iterate(object) {
          var html = "<ul>";
          if (object !== null && object.length > 0) {
              for (var x = 0; x < object.length; x++) {
                  html += "<li>";
                  html += object[x];
                  html += "</li>";
              }
          } else {
              html += "<li>-</li>";
          }
          html += "</ul>";
          return html;
      }
      
      function iterate(object) {
          var html = '<ul>';
          if (object !== null && object.length > 0) {
              object.forEach(function (data) {
                  html += '<li>' + data + '</li>';
              });
          } else {
              html += '<li>-</li>';
          }
          html += '</ul>';
          return html;
      }
      
          columns.Bound(x => x.locationList).Title("Locations Included").ClientTemplate("#= iterate(locationList) #");