<ejs-grid id="Grid"
dataSource="@ViewBag.source" allowFiltering="true">
<e-grid-columns>
[...]
<e-grid-column
field="IsActive" headerText="Active" editType="booleanedit"
width="100" displayAsCheckBox="true"
textAlign="Center" type="boolean"></e-grid-column>
</e-grid-columns>
</ejs-grid>
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public
bool IsActive { get; set; }
"dataSource": ej.data.DataUtil.parse.isJson([
{
"UserId": 1,
"FirstName": "Mario",
"LastName": "Rossi",
"Email":
"[email protected]",
"IsActive": true
},
{
"UserId": 1,
"FirstName": "Luca",
"LastName": "Rossi",
"Email":
"[email protected]"
},
{
"UserId": 1,
"FirstName": "Franco",
"LastName": "Rossi",
"Email":
"[email protected]",
"IsActive": true
},
{
"UserId": 1,
"FirstName": "Alberto",
"LastName": "Rossi",
"Email":
"[email protected]"
}
])
|
<ejs-grid id="Grid" load="load" actionComplete="actionComplete" actionBegin="actionBegin" allowFiltering="true" allowPaging="true" allowSelection="false">
<e-grid-editSettings allowAdding="false" allowDeleting="false" allowEditing="false" mode="Dialog"></e-grid-editSettings>
<e-grid-pagesettings pageCount="10"></e-grid-pagesettings>
<e-grid-columns>
<e-grid-column field="UserId" headerText="ID" isPrimaryKey="true" textAlign="Right" width="75"></e-grid-column>
<e-grid-column field="Email" headerText="Email" textAlign="Left" width="200"></e-grid-column>
<e-grid-column field="FirstName" headerText="Nome" width="170"></e-grid-column>
<e-grid-column field="LastName" headerText="Cognome" width="150"></e-grid-column>
<e-grid-column field="IsActive" headerText="Attivo" width="100" displayAsCheckBox="true" textAlign="Center" type="boolean"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div>
<script>
function actionComplete(args) {
if (args.requestType == "filtering") {
args.columns.forEach(function (col) {
// filter bar message updated
if (col.field == 'IsActive' && !col.value)
document.getElementsByClassName('e-pagerexternalmsg')[0].innerHTML = document.getElementsByClassName('e-pagerexternalmsg')[0].innerHTML.replace('undefined', 'false');
})
}
}
function actionBegin(args) {
if (args.requestType == "filtering") {
this.filterSettings.columns.forEach(function (e) {
if (e.field == 'IsActive' && !e.value) {
e.value = undefined; // empty value filtered
}
})
}
}
function load(ags) {
this.dataSource = ej.data.DataUtil.parse.isJson([
{
"UserId": 1,
"FirstName": "Mario",
"LastName": "Rossi",
"IsActive": true
},
{
"UserId": 1,
"FirstName": "L"
}
]);
}
</script>
|
|
public class User
{
...
[JsonProperty(DefaultValueHandling = DefaultValueHandling.Include)]
public bool IsActive { get; set; }
}
|