是否有任何将数据加载到页脚的示例?在工作中我找不到任何或我被阻止。
提前致谢...
答案 0 :(得分:17)
查看演示http://trirand.com/blog/jqgrid/jqgrid.html
并在左侧树中选择“版本3.5中的新功能”,然后选择“摘要页脚行”。
在示例中,设置了jqGrid的footerrow : true, userDataOnFooter : true
选项。然后服务器将userdata
块添加到发送回jqGrid的数据中。您可以在http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data中了解userdata
。如果userdata
阻止帽子属性对应于jqGrid的列名称,则数据将显示在页脚行中。
如果您需要更多信息,您应该编写在jqGrid中使用的数据类型(JSON,XML,xmlstring,jsonstring,local等)以及您使用的服务器类型(PHP,ASP.NET MVC,WCF)结束等等。)
更新:如果你使用标准json映射你的数据(没有jqGrid的jsonReader选项)从服务器看起来像
{
total: "xxx",
page: "yyy",
records: "zzz",
rows : [
{id:"1", cell:["cell11", "cell12", "cell13"]},
{id:"2", cell:["cell21", "cell22", "cell23"]},
...
]
}
因此数据没有colModel列的名称。例如,如果您在colModel中有一列{name:'price',...}并希望在jqGid的最后一行显示总价,则应在jqGrid选项中定义footerrow: true, userDataOnFooter: true
并且服务器应该生成像
{
total: "xxx",
page: "yyy",
records: "zzz",
rows : [
{id:"1", cell:["cell11", "cell12", "cell13"]},
{id:"2", cell:["cell21", "cell22", "cell23"]},
...
],
userdata: {price:1240.00}
}
如果您使用另一个jsonReader,则所有stat都保持不变。您可以定义的唯一一个是将“userdata”名称更改为另一个名称,但值必须一个具有您在colModel中定义的字段名称的对象。只有这些字段的值才会在jqGrid的最后一行显示为胖。
答案 1 :(得分:4)
上面的答案有很多帮助。无论如何,这是我在MVC.Net中的方式:
首先,这是网格定义的属性:
footerrow:是的, userDataOnFooter:true
在HttpPost的动作结果中:
[HttpPost]
public ActionResult GetNewMembersByDate(string date1, string date2)
{
List<uspGetNewByDateResult> list =_reportsRepository.GetNewByDate(DateTime.Parse(date1), DateTime.Parse(date2));
var amount = from p in list
select p.Quantity;
var jsonData = new
{
total = 1,
page = 1,
records = list.Count(),
userdata = new
{
Name = "Total:",
Quantity= amount.Sum().ToString()
},
rows = (
from row in list
select new
{
i = row.RowNumber,
cell = new[] {
row.RowNumber.ToString(),
row.Name,
row.Quantity.ToString()
}
}).ToArray()
};
return Json(jsonData);
}