如何footerdata设置jqgrid设置dynmaic列

问题描述:

iam创建jqgrid dynmamic但我有问题。当创建页脚的jqGrid如何footerdata设置jqgrid设置dynmaic列

通话功能sumarValores()用于页脚loadComplete ,但不知道全球在使用时$ self.jqGrid 必须使用Price_Num而不是全局;但我不想在使用Price_Num直接$ self.jqGrid 我想创建dynmamic页脚。

dataArray = [ 
     { id_R: 1, Name_c: "dummy1", AddDate_D: "1394/07/27", Price_Num: "10000" }, 
     { id_R: 2, Name_c: "dummy2", AddDate_D: "1394/07/28", Price_Num: "120000" }, 

]; 这是我的代码

$('#list').jqGrid({ 
     caption: "",  
     datatype: 'local', 
     colNames: getColNames(dataArray[0]), 
     colModel: getColModels(dataArray[0]), 
    footerrow : true, 
    loadComplete: function() { 
      sumarValores($(this)) 
      }, 
}); 
function sumarValores($self) { 
    var sumaHa = 0; 
    var columnNames = jQuery("#list").jqGrid('getGridParam', 'colNames'); 
    var global; 
    for (var z = 0; z < columnNames.length; z++) { 
     var colN = columnNames[z]; 
     if (colN == "Price") 
     { 
      colN = colN.concat('_Num'); 
      global = colN; 
      var sumCanceled = $self.jqGrid("getCol", colN, false, "sum"); 
      break; 
     } 

    } 

    alert(colN); 
    global ='Price_Num'; 
    $self.jqGrid("footerData", "set", { 
     global : sumCanceled, 

    }); 

    } 

我在这里看到的问题是,您无法按照您的方式设置对象属性。

global ='Price_Num'; 
$self.jqGrid("footerData", "set", { 
    global : sumCanceled, 

}); 

为了克服这一点,你可以做

global ='Price_Num'; 
var footer = {}; 
footer[global] = sumCanceled; 
$self.jqGrid("footerData", "set", footer); 

希望这有助于

为了能够在你需要有脚注行页脚写。请确认您在jqGrid中使用footerrow: true选项。

+0

IAM使用footerrow:真实, – saeed3164

+0

@ saeed3164:你应该张贴的代码,您可以使用。原代码没有'footerrow:true'!以同样的方式,你不清楚你使用的其他选项。例如,你使用'data'选项吗?如何以及何时填写数据,您想要在总结和放置在页脚中?下一个问题:你用'footerData'方法设置'global'属性。 “colModel”中的可见列是否有名字?你也不会发布它。您使用哪种版本的jqGrid,以及jqGrid的哪个版本?例如,如果您在jsfiddle中准备演示,这会更好,它可以演示问题。 – Oleg