Я получаю данные JSON через API и отображаю их в таблице с помощью интерфейса Kendo.
$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 связан с использованием шаблона. Но я хочу получить связанные данные, где у меня есть значение в column4, иначе обычный текст. Я попробовал следующий код и попытался перевернуть условие, но ссылки всегда появляются.
...
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);
Есть ли что-то, что я пропускаю? Любая помощь будет отличной.