簡體   English   中英

jqGrid - 如何計算列到jqgrid?

[英]jqGrid - How to calculated column to jqgrid?

我正在開發一個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', 'Area', 'Rate per SQM', 'Unit Price'],
colModel: [ { name: 'UnitNo', index: 'UnitNo' },
            { name: 'Area', index: 'Area' },
            { name: 'RatePerSQM', index: 'RatePerSQM' },
            { name: 'RatePerSQM', index: 'RatePerSQM',
              formatter: function (cellvalue, options, rowObject) 
                         {
                             return rowObject["Area"] * cellvalue
                          }
            }],

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM