汇总——DataGrid系列

时间:2021-09-06
本文章向大家介绍汇总——DataGrid系列,主要包括汇总——DataGrid系列使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

第一种: 拿到数据后,控件自己来汇总

…………

@(Html.DevExtreme().DataGrid<Model>()
  …………
  .ID("gridMetting")

  .KeyExpr("ReportUserGroupId")
  .DataSource(d => d.Mvc().Controller("MettingReport").LoadAction("Get").Key("Id"))
  .Summary(s => s.TotalItems(items => {
    items.AddFor(m => m.GroupTotalCount)
      .DisplayFormat("总数:{0}")
      .ValueFormat(Format.FixedPoint)
      .SummaryType(SummaryType.Sum);
    items.AddFor(m => m.GroupPartInCount)
      .DisplayFormat("总数:{0}")
      .ValueFormat(Format.FixedPoint)
      .SummaryType(SummaryType.Sum);
  })
  …………

)

第二种:使用API返回来的汇总数据

…………

@(Html.DevExtreme().DataGrid<Model>()
  …………
  .ID("gridMetting")
  .KeyExpr("ReportUserGroupId")
  …………

)

<script>
var dataGrid;
$(function () {
  dataGrid = $("#gridMetting").dxDataGrid("instance");
  loadDataGrid({});

});

function loadDataGrid(data) {
  loadPanel.show();
  dataGrid.option("noDataText", "正在加载...");

  sendRequest('@Url.RouteUrl(new { controller = "MettingReport", action = "GetStatisticsInfo" })', "GET", data)
    .then(function (r) {
      if (r.data) {
        dataGrid.option({
          "dataSource": r.data,  // 集合
          "summary": {
            totalItems: [
              {

                column: "GroupTotalCount",

                displayFormat: "总数:" + r.summary[0]

              },

              {

                column: "GroupPartInCount",

                displayFormat: "总数:" + r.summary[1]

              }]

           }
        });
      }
      else {
        dataGrid.option("noDataText", "没有数据");
      }
    });
}

function sendRequest(url, method, data) {
  method = method || "GET";
  return $.ajax(url, {
    method: method,
    data: data,
    cache: false,
    xhrFields: { withCredentials: true }
  });
}
</script>

原文地址:https://www.cnblogs.com/xiaonanmu/p/15234920.html