jqGrid - 如何计算列到jqgrid?
问题描述:
我正在一个ASP MVC 2 application.It有一个jqGrid和网格中的数据从控制器返回的JSON对象填充。我的网格有3列'UnitNo','Area'和'Rate per sqm'。这些列值是从数据库中回收的。现在我需要的是添加第四列“单价”,这是通过乘以“面积”和“每平方米的价格”计算出来的。我怎样才能做到这一点?有没有办法在jqGrid中添加一个计算列?或者,我可以在我的控制器中进行计算,并将其添加为行单元格的新元素?jqGrid - 如何计算列到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
}
}],
colmodel包含重复的col名称。 cellvalue引用自身。所以这似乎不起作用。可能需要使用col索引 – Andrus 2011-09-07 17:45:57