2017-04-04 9 views
0

私はプロパティの配列を取得しており、それらをすべてグリッドに表示したい。アレイデータソースkendo-gridはどうすれば入手できますか?

どうすればよいですか?出来ますか?

これは私のコードです:私はdetails[0]を書く

function StartBuild(ProfileProperties) { 
     var details = []; 
     for (i = 0; i < ProfileProperties.length; i++) { 
      details[i]=[{ name: ProfileProperties[i][0], email: ProfileProperties[i][1], phoneWork: ProfileProperties[i][2], Mobile: ProfileProperties[i][3], ManagerName: ProfileProperties[i][4] }]; 
     } 
      $(document).ready(function() { 
      var datasource = new kendo.data.DataSource({ 
       transport: { 
        type:"odata", 
        read: function (e) { 
         e.success(details); 
        }, 
        pageSize: 10, 
        batch: false, 
        schema: { 
         model: { 
          fields: { 
           name: { editable: false }, 
           Fname: { editable: false } 
          } 
         } 
        } 
       } 
      }); 
      $("#grid").kendoGrid({ 
       dataSource: datasource, 
       pegable: true, 
       sortable: { 
        mode: "single", 
        allowUnsort: false 
       }, 
       columns: [{ 
        field: "name", 
        title: "name", 
        filterable: { 
         cell: { 
          enabled:true 
         } 
        } 
       }, {//[Bild, nameP, email,phonework, Mobile, ManagerName] 
        field: "email", 
        title: "email" 
       }, { 
        field: "phoneWork", 
        title: "phoneWork" 
       }, { 
        field: "Mobile", 
        title: "Mobile" 
       }, { 
        field: "Manager", 
        title: "Manager" 
       }], 
       filterable: { 
        mode: "row" 
       }, 
      }); 
     }); 
    } 

場合にのみ、それはそれ以外の場合は何も表示されません。最初の性質を示します。

+0

あなたのhtmlを追加してください – Dwhitz

答えて

0

問題がいくつかあるようです。

http://dojo.telerik.com/@Stephen/uVOjAk

まず、トランスポート設定が正しくありません。 pageSize、バッチ、およびスキーマはではありません。トランスポート構成の一部です。それらをトランスポートブロックから取り出し、それらをデータソースブロックに入れるだけです。

あなたが欲しい:

var datasource = new kendo.data.DataSource({ 
    transport: { 
     type:"odata", 
     read: function (e) { 
      e.success(details); 
     } 
    }, 
    pageSize: 10, 
    batch: false, 
    schema: { 
     model: { 
      fields: { 
       name: { editable: false }, 
       Fname: { editable: false } 
      } 
     } 
    } 
}); 

の代わりに(あなたが持っているもの):詳細はオブジェクトの配列である必要があり

var datasource = new kendo.data.DataSource({ 
    transport: { 
     type:"odata", 
     read: function (e) { 
      e.success(details); 
     }, 
     pageSize: 10, 
     batch: false, 
     schema: { 
      model: { 
       fields: { 
        name: { editable: false }, 
        Fname: { editable: false } 
       } 
      } 
     } 
    } 
}); 

第二に、ないの配列の配列オブジェクト。

あなたが欲しい:

  1. あなたdataSource.schema:

    var details = []; 
    for (i = 0; i < ProfileProperties.length; i++) { 
        details.push({ name: ProfileProperties[i][0], email: ProfileProperties[i][1], phoneWork: ProfileProperties[i][2], Mobile: ProfileProperties[i][3], ManagerName: ProfileProperties[i][4] }); 
    } 
    

    の代わりに:直接問題を引き起こしていませんが、間違っている

    var details = []; 
    for (i = 0; i < ProfileProperties.length; i++) { 
        details[i]=[{ name: ProfileProperties[i][0], email: ProfileProperties[i][1], phoneWork: ProfileProperties[i][2], Mobile: ProfileProperties[i][3], ManagerName: ProfileProperties[i][4] }]; 
    } 
    

    他の二つの問題設定が実際のデータとまったく一致しません。スキーマは実際には実際のデータのフィールドと一致する必要があります。そうしないと、設定が一致しません。

  2. グリッド構成で「ページング可能な」という綴りが間違っています。
関連する問題