2017-10-04 317 views
0

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, 

    }); 

    } 

回答

0

我在這裏看到的問題是,您無法按照您的方式設置對象屬性。

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

}); 

爲了克服這一點,你可以做

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

希望這有助於

0

爲了能夠在你需要有腳註行頁腳寫。請確認您在jqGrid中使用footerrow: true選項。

+0

IAM使用footerrow:真實, – saeed3164

+0

@ saeed3164:你應該張貼的代碼,您可以使用。原代碼沒有'footerrow:true'!以同樣的方式,你不清楚你使用的其他選項。例如,你使用'data'選項嗎?如何以及何時填寫數據,您想要在總結和放置在頁腳中?下一個問題:你用'footerData'方法設置'global'屬性。 「colModel」中的可見列是否有名字?你也不會發布它。您使用哪種版本的jqGrid,以及jqGrid的哪個版本?例如,如果您在jsfiddle中準備演示,這會更好,它可以演示問題。 – Oleg