2017-08-21 10 views
0

J'utilise la grille de kendo dans mon application. Dans cette grille, j'ai utilisé la liste déroulante kendo. J'ai un tableau pour la source de données de cette liste déroulante. Le tableau ressembleDropDown dans la grille d'UI de Kendo montrant l'Object-Object après sélection de l'option dans la liste déroulante

var arr = [{text: "demo 1", value: 1}, {text: "demo 2", value: 2}] 

Mon DROPDOWNLIST On dirait:

$("#grid").kendoGrid({ 
     dataSource: dataSource, 
     navigatable: true, 
     pageable: true, 
     height: 550, 
     filterable: { 
      mode: "row" 
     }, 
     sortable: { 
      mode: "single", 
      allowUnsort: false 
     }, 
     toolbar: ["create"], 
     columns: [ 
      { field: "Item", title: "Item", width: "300px", editor: categoryDropDownEditor } 
     ], 
     editable: true 
    }); 

    function categoryDropDownEditor(container, options) { 
     $('<input data-text-field="text" data-value-field="value" data-bind="value:' + options.field + '" />') 
      .appendTo(container) 
      .kendoDropDownList({ 
       dataSource: arr, 
       autoBind: true, 
       dataTextField: "text", 
       dataValueField: "value", 
      }); 
    } 

Il montre le texte correctement déroulant, mais après avoir sélectionné l'option dans le menu déroulant, il montre objet objet en tant que texte sélectionné .

Ci-joint la capture d'écran de la liste déroulante de valeur sélectionnée et après l'option après avoir sélectionné Image of option selecting et After option selected

J'ai essayé beaucoup de solutions, mais n'a pas fonctionné. Ce sera génial si quelqu'un fournit la solution.

Merci

Répondre

0

Essayez de supprimer les data-text-field et data-value-field sur votre categoryDropDownEditor.

A fait un jsFiddle pour vous. Vérifier celui-ci.

+0

Le violon fourni par vous a également le même problème. Essayez d'ajouter un nouvel enregistrement, puis sélectionnez l'option dans la liste déroulante. Il montre "object object" – Gourav

+0

J'ai ajouté un 'valuePrimitive' sur' kendoDropDownList'. http://jsfiddle.net/0zauzskn/6/ –

+0

Merci mais en ajoutant valeurPrimitive me montre la valeur de cette option si j'utilise dataValueField: "valeur" au lieu de "texte". Je dois ajouter dataValueField en tant que valeur car j'ai besoin de l'enregistrer en DB. – Gourav

0

I Just avoir mis à jour le code jsFiddle "Cara Tilos",

http://jsfiddle.net/0zauzskn/5/

Cela vous donnera le résultat souhaité.

J'ai ajouté

schema: { 
    model: { 
     fields: { 
      item: { type: "string" } 
     } 
    } 
} 

dans votre dataSource

Bonne chance.

+0

Merci pour la réponse, mais cela ne fonctionne pas parce que j'ai changé dataValueField du texte en valeur que je veux obtenir la valeur de l'option sélectionnée pour le traiter plus loin. Dans votre violon, il renvoie du texte au lieu de valeur car dataValueField est mentionné en tant que texte. – Gourav