|
@(Html.EJ().Grid<object>("Grid")
.Datasource((IEnumerable<object>)ViewBag.dataSource)
...
.SummaryRow(row =>
{
row.ShowTotalSummary(false).SummaryColumns(c =>
{
c.SummaryType(SummaryType.Custom).CustomSummaryValue("percentage")
.DisplayColumn("EmployeeID")
.DataMember("EmployeeID")
.Prefix("Percentage: ")
.Add();
}).Add();
})
.Columns(col =>
{
...
})
.ClientSideEvents(eve => eve.Create("create").ActionComplete("complete").RowSelecting("rowselect"))
)
<script>
function percentage(args) {
var gridObj = $("#Grid").ejGrid("instance");
for (var i = 0; i < this.model.currentViewData.length; i++) {
var itemlength = this.model.currentViewData[i].items.length; //you can get the current page rows based on the grouped columns using currentViewData
var pageSize = this.model.pageSettings.pageSize;
var percentage = (itemlength * 100) / pageSize;
}
return percentage + "%";
}
</script> |
|
...
<script>
function percentage(summaryCol, jsonData) {
var gridObj = $("#Grid").ejGrid("instance");
if (jsonData.length != this.model.dataSource.length) {
var obj = ej.DataManager(this.model.currentViewData).executeLocal(new ej.Query().where("key", "equal", jsonData[0].EmployeeID))
var itemlength = obj[0].items.length; //you can get the current page rows based on the grouped columns using currentViewData
var pageSize = this.model.pageSettings.pageSize;
var percentage = (itemlength * 100) / pageSize;
}
return percentage + "%";
}
</script> |