使用Javascript - 如何动态地添加在剑道UI网格物体光柱阵列?(Javascript -

2019-08-19 04:17发布

我想作为标题暗示生成列数组中的对象,虽然我还没有找到一个工作方法。

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循环,以产生列数组内对象的数组的对象。

我想知道的是,这是否可以动态吗? 或者只是有可能的话,而不硬编码呢?

Answer 1:

你能行的。 让有存储在标题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 ,所以你不必格式化它作为你要显示它。



文章来源: Javascript - How to add objects to column array in kendo ui grid dynamically?