Dim script As String = $"_${internalID} = $("#${internalID}").jsGrid({
height: "100%",
width: "100%",
filtering: true,
inserting: true,
editing: true,
sorting: true,
paging: true,
autoload: true,
pageSize: 10,
pageButtonCount: 5,
deleteConfirm: "Do you really want to delete the client?",
controller: {
loadData: function(filter) {
return $.grep(${DBdata}, function(client) {
var fName = filter.Name.toUpperCase();
var fAddress = filter.Address.toUpperCase();
return (!filter.Name || client.Name.toUpperCase().indexOf(fName) > -1)
&& (!filter.Age || client.Age === filter.Age)
&& (!filter.Address || client.Address.toUpperCase().indexOf(fAddress) > -1)
&& (!filter.Country || client.Country === filter.Country)
&& (filter.Married === undefined || client.Married === filter.Married);
});
},
insertItem: function(insertingClient) {
var json = JSON.stringify(insertingClient);
b4j_raiseEvent('${ABMComp.ID}_inserted', {'value':json});
},
updateItem: function(updatingClient) {
var json = JSON.stringify(updatingClient);
b4j_raiseEvent('${ABMComp.ID}_updated', {'value':json});
},
deleteItem: function(deletingClient) {
var json = JSON.stringify(deletingClient);
b4j_raiseEvent('${ABMComp.ID}_deleted', {'value':json});
}
},
fields: [
{ name: "Name", type: "text", width: 150 },
{ name: "Age", type: "number", width: 50 },
{ name: "Address", type: "text", width: 200 },
{ name: "Country", type: "select", items: ${cmbCountries}, valueField: "Id", textField: "Name" },
{ name: "Married", type: "checkbox", title: "Is Married", sorting: false},
{ type: "control" }
]
});"$
InternalPage.ws.Eval(script, Array As Object(ABMComp.ID))