我的JSON数据如下:
"items": [
{
"batch": "sectionA",
"full": "N",
"numStudents": 2,
"students": [
{
"name": "John",
"married": "Y"
},
{
"name": "Mary",
"married": "N"
}
]
},
{
"batch": "sectionB",
"full": "Y",
"numStudents": 3,
"students": [
{
"name": "John",
"married": "Y"
},
{
"name": "Mary",
"married": "N"
},
{
"name": "Sam",
"married": "N"
}
]
}
我迭代这个JSON并创建一个DataGrid,其中:item []。batch是Header列。 项目[]。students []。name是列下的行。此JSON将生成一个包含2个标题列和3行的DataGrid。第1列(" SectionA")将在其下方仅填充两个单元格。第2列(" SectionB")下面有3个单元格填充。
我可以在网格中显示它,没有任何问题。但我需要添加逻辑,其中if:item []。students []。married =" Y"然后我必须在单元格中的学生姓名旁边显示一个小图像。
同样,如果项目为[]。完整=" Y"然后我必须以不同的颜色显示标题列。
有什么建议吗?这最近一直在咀嚼我的大脑
答案 0 :(得分:0)
答案 1 :(得分:0)
我通过改变用于网格的结构来处理dojo数据网格中的图像。像下面的片段。这也允许您将网格列的大小调整为您正在使用的图像文件的大小。
var marryflag;
(function() {
mygrid.list.structure = [
{
cells: [
[
{name: 'Married', width: '17%', field: "married",hidden: true,
formatter: function(inValue) {
marryflag = inValue;
} // end formatter function
},
{name: 'Name', width: '20px', field: "name",
formatter: function(inValue) {
this.customStyles.push("vertical-align:middle");
return "<img src=\"/url_path_to_image/" + inValue + "\" alt=\"" + inValue + "\" width=\"16px\" height=\"16px\" style=\"vertical-align: middle\" /> ";
}
}
]
]
}
];
})();