[英]Javascript - How to add objects to column array in kendo ui grid dynamically?
盡管我沒有找到一種有效的方法,但正試圖在該列數組中生成對象,如標題所示。
alert( "Value 1: " + temporaryArray[1] + " - " + finalArray[1].values );
alert( "Value 2: " + temporaryArray[2] + " - " + finalArray[2].values );
var myGrid = $("#grid").kendoGrid(
{
columns:
[
{
title: temporaryArray[0] + " ",
field: gridArray[0].values + " "
}
],
dataSource:
{
data:finalArray,
pageSize:10
},
scrollable:false,
pageable:true
});
我嘗試以下添加對象:
for( var x = 0; x < finalArray.length; x++ )
{
myGrid[columns] = { temporaryArray[x]:finalArray[x] };
}
和
for( var x = 0; x < finalArray.length; x++ )
{
myGrid.columns[values]= finalArray[x].values;
}
沒有成功...
以下內容看起來像是我要動態實現的對象內部的對象數組:
columns:
[
{
title: temporaryArray[0] + " ",
field: gridArray[0].values + " "
},
{
title: temporaryArray[1] + " ",
field: gridArray[1].values + " "
},
{
title: temporaryArray[2] + " ",
field: gridArray[2].values + " "
}
],
例如:
for( var x = 0; x < finalArray.length; x++ )
{
myGrid[columns] = { temporaryArray[x]:finalArray[x] };
}
我想使用for循環來生成對象,以在列數組內生成對象數組。
我想知道的是,這是否有可能動態進行? 或根本不需要硬編碼就可以了嗎?
你能行的。 讓有存儲在標題titleDefs
和field
在名稱fieldDef
。 然后,您應該執行以下操作:
// Title Definitions
var titleDefs = [
"First Name", "Last Name", "Title"
];
// Field Definition
var fieldDefs = [
"FirstName", "LastName", "Title"
];
// Lets compute column definition
var columnDefs = [];
for (var i = 0; i < titleDefs.length; i++) {
columnDefs.push({ title : titleDefs[i], field: fieldDefs[i] });
}
// Now, create the grid using columnDefs as argument
var grid = $("#grid").kendoGrid({
dataSource: {
data : dataArray,
pageSize: 10
},
columns : columnDefs
}).data("kendoGrid");
注意 :在此示例中,我定義了一個數據源,它是內存中的一個JavaScript array
,但是您可以從更改DataSource
定義的服務器中獲取數據。
注意 :在您的代碼中,您要在title
定義中添加額外的空格,這是不正確的:列定義是JavaScript代碼,而不是strings
因此您不必像顯示時一樣對其進行格式化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.