2

我正在使用 KendoUi 控件。我已经定义了数据源

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

现在我的问题是我们可以定义filedsarray类似

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

现在我们可以像这样定义数据源了吗

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

1 回答 1

6

两种定义不等价。

第一个:

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

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

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

您使用带有索引0和的数组1

您可以动态定义它们,但您应该定义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

于 2013-06-13T14:56:07.770 回答