我通过API获取JSON数据,并使用kendoui将其显示在表中。
$scope.ReportViewGrid = function ReportViewGrid(jsonData) {
if (jsonData == null) return;
var fileName = "ReportView";
var grid = $("#ReportViewGrid").kendoGrid({
toolbar: [{
template: "<input type='button' class='k-button' value='Back' onclick='back()' />"
}],
editable: false,
filterable: true,
resizable: true,
pageable: {
pageSize: 10,
buttonCount: 5
},
columns: jsonData.columns,
dataSource: {
data: jsonData.children
},
}).data("kendoGrid");
}
<div id="ReportViewGrid"></div>
-----------------
C1 | C2 | C3 | C4
-----------------
v1 | v2 | v3 | v4
x1 | x2 | x3 |
y1 | y2 | y3 |
z1 | z2 | z3 | z4
列1使用模板链接。但我想在第4列中有值的地方得到链接数据,否则是普通文本。我试过下面的代码,也试过翻转条件,但是链接总是出现。
...
if("uName".equalsIgnoreCase(uNameField)){
template = "# if (\"#=encodeURI(md5hash)#\".equals(\"\") ) { #"
+" <span>#=fileName#</span>"
+" # } else{ #"
+" <a style=\"cursor: pointer;\" onclick='expand(\"fileDetailForDuplicateFile\",\"#=encodeURI(fileName)#\",\"#=encodeURI(md5hash)#\")'>#=fileName#</a>"
+" #} #";
nodeColumns.setTemplate(template);
}
root.addColumns(nodeColumns);
}
root.addLinkedColumn("uName");
Gson gson = new Gson();
return gson.toJson(root);
我有什么遗漏吗?任何帮助都会很好。