加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – jqGrid – 如何计算列到jqgrid?

发布时间:2020-12-16 09:20:48 所属栏目:asp.Net 来源:网络整理
导读:我正在开发一个ASP MVC 2应用程序.它有一个jqGrid,网格中的数据是从控制器返回的 JSON对象中填充的.我的网格有3列’UnitNo’,’Area’和’Rate per sqm’.从数据库中重新获取这些列值.现在我需要的是增加第4列“单价”,它是通过乘以“面积”和“每平方米费率
我正在开发一个ASP MVC 2应用程序.它有一个jqGrid,网格中的数据是从控制器返回的 JSON对象中填充的.我的网格有3列’UnitNo’,’Area’和’Rate per sqm’.从数据库中重新获取这些列值.现在我需要的是增加第4列“单价”,它是通过乘以“面积”和“每平方米费率”计算得出的.我怎么能做到这一点?有没有办法在jqGrid中添加计算列?或者我可以在我的控制器中进行计算并将其添加为行单元格的新元素吗?

这是我的控制器代码:

public JsonResult GetERVList()
    {
        var ervRep=new ERVRepository();
        IList<ERVMaster> list = ervRep.ListERVData();
        int pageSize = 50;
        int totalRecords = list.Count();
        var totalPages = (int)Math.Ceiling(totalRecords / (float)pageSize);
        var jsonData = new
        {
            total = totalPages,pageSize,records = totalRecords,rows = (from ervdata in list
                    select new
                    {
                        i = ervdata.Id,cell = new[]
                            {
                                ervdata.UnitNo,ervdata.Area,ervdata.RatePerSQM


                            }

                    }).ToArray()
        };
        return Json(jsonData,JsonRequestBehavior.AllowGet);

}

我的jqGrid代码是这样的

<script type="text/javascript">
jQuery(document).ready(function () {
    jQuery("#list").jqGrid({
        url: '/ERV/GetERVList/',datatype: 'json',mtype: 'GET',colNames: ['Unit','Area','Rate per SQM'],colModel: [ { name: 'UnitNo',index: 'UnitNo' },{ name: 'Area',index: 'Area' },{ name: 'RatePerSQM',index: 'RatePerSQM' }],pager: jQuery('#pager'),rowNum: 10,rowList: [5,10,20,50],sortname: 'Id',sortorder: "Id",viewrecords: true,caption: 'My first grid'
    });
});

提前致谢,
Ancy

解决方法

我知道,我迟到了,但这将有助于任何正在寻找如何计算派生列的人

以下应该在jQgrid v4.0中工作

按照以下方式更改colNames和colModel配置

colNames: ['Unit','Rate per SQM','Unit Price'],index: 'RatePerSQM' },index: 'RatePerSQM',formatter: function (cellvalue,options,rowObject) 
                         {
                             return rowObject["Area"] * cellvalue
                          }
            }],

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读