|
<div class='control-wrapper'>
<ejs-dropdownlist id="id" dataSource="@ViewBag.data" value ="1" change="onChange" placeholder="Select an ID" popupHeight="220px">
</ejs-dropdownlist>
<ejs-grid id="Grid" allowPaging="true" created="created" actionBegin="begin" toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update" })">
<e-datamanager url="/Home/UrlDataSource" insertUrl="/Home/Insert" updateUrl="/Home/Update" removeUrl="/Home/Delete" adaptor="UrlAdaptor"></e-datamanager>
<e-grid-columns>
. . .
</e-grid-columns>
</ejs-grid>
</div>
<script type="text/javascript">
function onChange(args) {
var grid = document.querySelector('#Grid').ej2_instances[0];
grid.query = new ej.data.Query().addParams('id', parseInt(args.value));
grid.refresh();
}
function begin(e) {
if (e.requestType == 'save') {
var ddl = document.querySelector('#id').ej2_instances[0];
e.data.dataId = parseInt(ddl.value);
}
}
</script> |
|
<ejs-grid id="Grid" allowPaging="true" created="created" toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update" })">
. . .
</ejs-grid>
</div>
<script type="text/javascript">
function created() {
var ddl = document.querySelector('#id').ej2_instances[0];
// extending the default UrlAdaptor
class CustomAdaptor extends ej.data.UrlAdaptor {
beforeSend(dataManager, request, ajaxSettings) { //triggers before sending the request
var action = JSON.parse(ajaxSettings.data).action;
// check for CRUD Operation
if (action == 'update' || action == 'remove' || action == 'insert') {
var dataStrng = ajaxSettings.data;
dataStrng = dataStrng.slice(0, -1);
// you can get the `Params` in CRUDModel class by defining Params in that class
dataStrng = dataStrng + ',"Params":' + parseInt(ddl.value) + '}';
ajaxSettings.data = dataStrng;
ajaxSettings.options.data = dataStrng;
}
}
}
var grid = document.querySelector('#Grid').ej2_instances[0];
grid.dataSource = new ej.data.DataManager({
url: "/Home/UrlDataSource",
insertUrl: "/Home/Insert",
updateUrl: "/Home/Update",
removeUrl:"/Home/CellEditDelete",
adaptor: new CustomAdaptor()
});
grid.query = new ej.data.Query().addParams('id', parseInt(ddl.value));
grid.refresh();
}
</script> |
|
<ejs-grid id="Grid" allowPaging="true" created="created" toolbar="@(new List<string>() { "Add", "Edit", "Delete", "Cancel", "Update" })">
. . .
</ejs-grid>
</div>
<script type="text/javascript">
function created() {
var ddl = document.querySelector('#id').ej2_instances[0];
function CustomAdaptor() {
ej.data.UrlAdaptor.call(this);
}
CustomAdaptor.prototype = Object.create(ej.data.UrlAdaptor.prototype);
CustomAdaptor.prototype.constructor = CustomAdaptor;
CustomAdaptor.parent = ej.data.UrlAdaptor.prototype;
CustomAdaptor.prototype.beforeSend = function (dataManager, request, ajaxSettings) {
var action = JSON.parse(ajaxSettings.data).action;
// check for CRUD Operation
if (action == 'update' || action == 'remove' || action == 'insert') {
var dataStrng = ajaxSettings.data;
dataStrng = dataStrng.slice(0, -1);
// you can get the `Params` in CRUDModel class by defining Params in that class
dataStrng = dataStrng + ',"Params":1}';
ajaxSettings.data = dataStrng;
ajaxSettings.options.data = dataStrng;
}
};
var customAdaptor = new CustomAdaptor();
var grid = document.querySelector('#Grid').ej2_instances[0];
grid.dataSource = new ej.data.DataManager({
url: "/Home/UrlDataSource",
insertUrl: "/Home/Insert",
updateUrl: "/Home/Update",
removeUrl:"/Home/CellEditDelete",
adaptor: customAdaptor
});
grid.query = new ej.data.Query().addParams('id', parseInt(ddl.value));
grid.refresh();
}
. . .
</script> |