| Device | Stage 1 | Stage 2 | Stage 3 |
| Device 1 | X | X | |
| Device 2 | |||
| Device 3 | X | X | |
| Device 4 | X | X | |
| Device 5 | X X |
|
@(Html.EJ().Grid<object>("Grid")
.Datasource((IEnumerable<object>)ViewBag.dataSource)
.AllowPaging()
.Columns(col =>
{
col.Field("OrderID").IsIdentity(true).IsPrimaryKey(true).Width(70).Add();
col.Field("CustomerID").Width(70).Add();
col.HeaderText("Stage 1").Width(70).Template("#template").TextAlign(TextAlign.Center).Add();
col.HeaderText("Stage 2").Width(70).Template("#template1").TextAlign(TextAlign.Center).Add();
})
)
<script type="text/x-jsrender" id="template">
{{if EmployeeID == 3 }}
<span>value for stage 1</span>
{{/if}}
</script>
<script type="text/x-jsrender" id="template1">
{{if CustomerID == "VINET" || CustomerID == "HANAR" }}
<span>value for stage 2</span>
{{/if}}
</script>
|
|
@(Html.EJ().Grid<object>("Grid")
...
.Columns(col =>
{
col.Field("OrderID").IsIdentity(true).IsPrimaryKey(true).Width(70).Add();
col.Field("EmployeeID").Width(70).Add();
foreach (var stage in @ViewBag.Stages)
{
col.Field(stage).Template("#stageTemplate").Add();
}
})
)
<script type="text/x-jsrender" id="stageTemplate">
<span>{{:~temp(val)}}</span>
</script>
<script>
var Value = {
temp: function (val) {
if (this.data.EmployeeID == 3 && this.ctx.prop.field == "stage1")
return "stage1 value"
if ((this.data.CustomerID == "VINET" || this.data.CustomerID == "HANAR") && this.ctx.prop.field == "stage2")
return "stage2 value"
if ((this.data.EmployeeID == 4) && this.ctx.prop.field == "stage3")
return "stage3 value";
}
};
$.views.helpers(Value);
</script> |