2 votes

Peut-on définir le modèle de schéma dynamiquement dans l'interface utilisateur de Kendo ?

J'utilise les contrôles KendoUi. J'ai défini la source de données comme suit

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

Ma question est maintenant de savoir si nous pouvons définir fileds en tant que array comme

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

Nous pouvons maintenant définir la source de données comme suit

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

6voto

OnaBai Points 22137

Les deux définitions ne sont pas équivalentes.

Le premier :

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

utilise des tableaux associés (les index sont ProductID y ProductName ) tandis que le second :

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

Vous utilisez un tableau avec l'index 0 y 1 .

Vous pouvez les définir de manière dynamique, mais vous devez définir arry comme :

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

ou

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

ou

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

mais arr doit être un object et non un array

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X