-1

J'ai une page de recherche, où l'utilisateur saisit des champs et clique sur le bouton de recherche. Ensuite, je fais appel ajax à la liste Sharepoint 2013 avec la requête de recherche et la récupération des données. Après avoir récupéré des données, je lie des données à la grille de Kendo.Liaison de données de liste SharePoint à la grille de Kendo après un clic sur le bouton

Cette liste SharePoint contient différents types de champs tels que: recherche, choix, champ de texte. Les données de la colonne de choix, les types de champs de texte se lient facilement à la grille, je suis également capable de voir les données. Mais les données issues des colonnes de recherche ne sont pas visibles dans Kendo Grid.

au lieu des données, la montrant

[object Object]

Voici le code de l'appel ajax je fais et je suis succès de liaison de données à Kendo Grille.

function fetchData(webUrl, filterString){ 
    $.ajax({ 
     url: webUrl +"/_api/web/lists/getByTitle('Inventory')/Items?$filter="+filterString, 
     method: 'get', 
     contentType: 'application/json;odata=verbose', 
     headers:{ 
      'X-RequestDigest': $('#__REQUESTDIGEST').val(), 
      'Accept': 'application/json;odata=verbose' 
     }, 
     success: function(data){ 
      var grid = $('#grdInventory').getKendoGrid(); 
      grid.dataSource.data(data.d.results); 
      grid.refresh(); 
     } 
    }); 
} 
  • est inférieure à la capture d'écran de la grille: In Grid =

ID, une courte description, ID analytique, le nom analytique sont colonne de type texte

Statut de la production est la colonne de choix, L'état, la plate-forme sont Rechercher colonne dans SharePoint

I circled the errors which is being seen

  • Voici la capture d'écran de données vu dans le navigateur de la console:

Circled lookup Columns

Quelqu'un peut-il s'il vous plaît me aider ou me donner soupçon de la façon d'afficher rechercher des données de colonne dans Kendo La grille.

Répondre

0

C'est un comportement standard, les valeurs de champ de recherche dans ce cas représentent une propriété complexe et renvoyé en tant qu'objet. En fonction de ce champ de la liste de recherche doit être affiché (laisse supposer Title dans notre exemple), vous pouvez appliquer le filtre suivant pour les données renvoyées avant la grille s'affiche:

var items = data.d.results.map(function(item){ 
    item.State = item.State.Title; //lets get Title from Lookup object 
    return item; 
}); 

et se lient alors les données:

var grid = $('#grdInventory').getKendoGrid(); 
grid.dataSource.data(items); 
grid.refresh();