|
Index.cshtml
<div class="control-wrapper">
<div id="default" style='padding-top:75px;'>
<ejs-combobox id="dataLen" dataSource="@ViewBag.data" width="150" placeholder="Select a game" popupHeight="220px">
</ejs-combobox>
</div>
</div>
<ejs-grid id="Grid" allowPaging="true" actionComplete="actionComplete" toolbar="@(new List<string>() {"Add", "Edit", "Update", "Delete" })">
<e-grid-editSettings allowAdding="true" allowDeleting="true" allowEditing="true" mode="Normal" ></e-grid-editSettings>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID" isPrimaryKey="true" textAlign="Right" width="100"></e-grid-column>
<e-grid-column field="EmployeeID" headerText="Empolyee Name" foreignKeyValue="FirstName" dataSource="ViewBag.foreign" width="150"></e-grid-column>
<e-grid-column field="Freight" headerText="Freight" textAlign="Right" format="C2" editType="numericedit" width="120"></e-grid-column>
<e-grid-column field="ShipCity" headerText="Ship City" width="150"></e-grid-column>
</e-grid-columns>
</ejs-grid>
<script>
function actionComplete(args) {
if (args.requestType === "add" || args.requestType === "beginEdit") {
var editDropDown = document.getElementById("GridEmployeeID").ej2_instances[0];
var externalDropdown = document.getElementById("dataLen").ej2_instances[0];
var ajax = new ej.base.Ajax({
type: "POST",
url: "/Home/getForeignData",
contentType: "application/json",
dataType: 'json',
});
ajax.send().then(function (data) {
var length = parseInt(externalDropdown.value);
editDropDown.dataSource = data.slice(0, length);
}).catch(function (xhr) {
console.log(xhr);
});
}
}
</script> |