.Datasource((IEnumerable<object>)ViewBag.datasource)
.AllowSorting()
.AllowPaging()
.PageSettings(p =>
p.Template("#pagertemplate").EnableTemplates().ShowDefaults().PageSize(20))
.AllowResizeToFit()
.AllowTextWrap()
.AllowScrolling()
.ScrollSettings(s => s.Width("100%"))
.AllowFiltering()
.FilterSettings(filter => { filter.FilterType(FilterType.Excel); })
.ClientSideEvents(eve => eve.DataBound("dataBound"))
.ClientSideEvents(e => e.ActionComplete("PageRefresh").ActionBegin("onBegin"))
.Columns(col =>
{
col.Field(z => z.RequestNum).HeaderText("Request #").Add();
col.Field(z => z.Status).HeaderText("Status").Add();
col.Field(z => z.Type).HeaderText("Request Type").Add();
col.Field(z => z.ProjectName).HeaderText("Project Name").Width(175).Add();
col.Field(z => z.LabShortName).HeaderText("Lab").Add();
col.Field(z => z.Requester).HeaderText("Requester").Add();
col.Field(z => z.AssignedTo).HeaderText("Assigned To").Add();
col.Field(z => z.ReceivedDate).HeaderText("Submitted Date").Add();
col.Field(z => z.ProcesHrs).HeaderText("Process/Tech Hrs").Add();
}))
@Html.EJ().WaitingPopup("target").ShowOnInit(false)
</form>
<script type="text/javascript" language="javascript">
var index = 0;
function PageRefresh(args){
if (this.initialRender || args.requestType == "paging")
renderDropdown();
}
function renderDropdown() {
var gObj = $("#FlatGrid").ejGrid("instance");
//render the ejDropDownList on pager template
gObj.getPager().find("select").ejDropDownList({
selectedIndex: index,
change: "pageSizeChange",
showRoundedCorner: true,
width: 60, height: 25
});
}
function pageSizeChange(args) {
var popup = $("#target").data("ejWaitingPopup"); //here I attempt to get the target loading icon and show it - does not work
popup.show();
var gridModel = $("#FlatGrid").ejGrid("model");
var pagerModel = $("#FlatGrid").ejGrid("getPager").ejPager("model");
var newLastPage = Math.ceil(gridModel.pageSettings.totalRecordsCount / args.value);
if (pagerModel.currentPage > newLastPage)
$("#FlatGrid").ejGrid("getPager").ejPager("goToPage", newLastPage);
$("#FlatGrid").ejGrid({ "pageSettings": { pageSize: parseInt(args.value) } });
index = args.itemId;
renderDropdown();
popup.hide(); //here I attempt to hide it - does not work
}
</script>
var index = 0;
function PageRefresh(args){
if (this.initialRender || args.requestType == "paging")
renderDropdown();
}
function renderDropdown() {
var gObj = $("#FlatGrid").ejGrid("instance");
//render the ejDropDownList on pager template
gObj.getPager().find("select").ejDropDownList({
selectedIndex: index,
change: "pageSizeChange",
showRoundedCorner: true,
width: 60, height: 25
});
}
function pageSizeChange(args) {
var popup = $("#target").data("ejWaitingPopup"); //I select the target loader and attempt to show it (it does not show up)
popup.show();
var gridModel = $("#FlatGrid").ejGrid("model");
var pagerModel = $("#FlatGrid").ejGrid("getPager").ejPager("model");
var newLastPage = Math.ceil(gridModel.pageSettings.totalRecordsCount / args.value); //this code actually changes page size
if (pagerModel.currentPage > newLastPage)
$("#FlatGrid").ejGrid("getPager").ejPager("goToPage", newLastPage);
$("#FlatGrid").ejGrid({ "pageSettings": { pageSize: parseInt(args.value) } });
index = args.itemId;
renderDropdown();
popup.hide(); //I hide the target loader
}