我们可以在kendo ui中动态定义Schema Model

时间:2013-06-13 13:30:53

标签: jquery kendo-ui kendo-grid

我正在使用KendoUi控件。我已将dataSource定义为

  var dataSource = new kendo.data.DataSource({
   schema: {
    model: {
       id: "ProductID",
         fields: {
            ProductID: { type:"id" },
            ProductName: {type:"string"}
           }      
         }
       }          
     });

现在我的问题是我们可以将fileds定义为array

 var arry = [{ProductID:{type:"id"}}, {ProductName:{type:"string"}}];

现在我们可以像

那样定义dataSource
 var dataSource = new kendo.data.DataSource({
   schema: {
    model: {
       id: "ProductID",
         fields: arry
         }
       }          
     });

1 个答案:

答案 0 :(得分:6)

两种定义都不相同。

第一个:

fields: { 
    ProductID: { type:"id" },
    ProductName: {type:"string"}
}      

使用关联数组(索引为ProductIDProductName),而第二个:

var arry = [{ProductID:{type:"id"}}, {ProductName:{type:"string"}}];
...
fields: arry
...

您使用索引为01的数组。

您可以动态定义它们,但您应将arry定义为:

var arry = { ProductID:{type:"id"}, ProductName:{type:"string"} };

var arry = {};
arry.ProductID = { type: "id" };
arry.ProductName = { type : "string" };

var arry = {};
arry["ProductID"] = { type: "id" };
arry["ProductName"] = { type : "string" };

arr必须是object,而不是array