1

見出しが示すように、列配列にオブジェクトを生成しようとしていますが、有効な方法は見つかりませんでした。

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 ループを使用してオブジェクトを生成し、列配列内にオブジェクトの配列を生成したいと考えています。

私が知りたいのは、これが動的に実行できるかどうかです。または、ハードコーディングせずにまったく可能ですか?

4

1 に答える 1

5

あなたはそれを行うことができます。タイトルを に保存し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");

array: この例では、メモリ内の JavaScript である DataSource を定義しましたが、DataSource定義を変更することでサーバーからデータを取得できます。

: あなたのコードでは、余分な空白をtitle定義に追加していましたが、それは正しくありません: 列の定義は JavaScript コードでありstrings、表示するようにフォーマットする必要はありません。

于 2013-04-03T06:42:24.437 に答える