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) #");