2017-04-04 49 views
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" 
       }, 
      }); 
     }); 
    } 

只有當我寫details[0]它顯示的第一屬性,否則它不會顯示任何東西。

+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 } 
       } 
      } 
     } 
    } 
}); 

二,詳細說明必須是對象的數組,不是數組的數組一個東西。

你想:

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] }]; 
} 

兩個等問題,而且是不正確的是:

  1. 你dataSource.schema配置與您的實際數據根本不匹配。模式確實需要匹配實際數據的字段,否則它無法匹配配置。
  2. 你拼寫爲「分頁」錯在網格配置。