簡體   English   中英

javascript-如何動態地將對象添加到kendo ui網格中的列數組?

[英]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循環來生成對象,以在列數組內生成對象數組。

我想知道的是,這是否有可能動態進行? 或根本不需要硬編碼就可以了嗎?

你能行的。 讓有存儲在標題titleDefsfield在名稱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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM