2017-09-19 1 views
0
  • J'essaie de télécharger le fichier de la grille.J'essaie d'afficher la première colonne dans la grille

    • Lorsque je clique sur ouvrir la première fenêtre, une fenêtre s'ouvre.
    • dans cette fenêtre, vous verrez une grille avec deux colonnes.
    • mais maintenant vous ne voyez pas la première colonne

    • Je suis en train de télécharger le fichier comme le violon prototype de l'échantillon.

    • peut vous les gars me dire comment réparer fournir mon code ci-dessous

échantillon prototype http://jsfiddle.net/khfL1jsh/

besoin de fixer dans ce violon http://jsfiddle.net/wL4v15vd/2/

template: function csvDownload() { 
    //return "testing" + that.FinancialDocuments.ImageType(model); 
    var htmlString = "<a id=\'sportsDataPlayer\' download=\'download.csv\' type=\'text\/csv\'>#= FileName.substring(FileName.lastIndexOf('/')+1) #</a>" 
    var csv = "a,b,c\n1,2,3\n"; 
    var data = new Blob([csv]); 
    var a2 = document.getElementById("sportsDataPlayer"); 
    alert("I am here"); 
    a2.href = URL.createObjectURL(data); 
}, 

Répondre

0

D'accord, je pense que cela est finalement ce que vous avez besoin: http://jsfiddle.net/wL4v15vd/9/

columns: [{ 
     field: "FileName", 
     title: "File Name", 

     template: function csvDownload(ev) { 
     //return "testing" + that.FinancialDocuments.ImageType(model); 
     var csv = "a,b,c\n1,2,3\n"; 
     var data = new Blob([csv]); 
     var a = $('<a/>', { 
      class: 'sportsDataPlayer', 
      download: 'download.csv', 
      type: 'text/csv', 
      href: URL.createObjectURL(data), 
      html: ev.FileName 
     }); 
     return a[0].outerHTML; 
     } 
    }, { 
     field: "ThreeDots", 
     title: "Last Name", 
     template: "<span class='deleteRow'>ThreeDots</span>" 
    }] 

Bien sûr, pour expliquer, premier problème que vous aviez est que vous aviez mal entre parenthèses, après que vous utilisiez id - même id sur une page est très mauvaise pratique (id doit être unique par élément), aussi vous étiez en train de sélectionner des éléments avant qu'ils ne soient rendus sur la page. Pour contourner cela j'ai ajouté la création d'élément à la volée et la stocker dans la variable - maintenant jquery crée un élément et lui attribue un objet - les propriétés de l'objet sont les mêmes que mettre des attributs sur l'élément html. Pour obtenir FileName, nous passons le paramètre à la fonction template et le lisons à partir de là. En fin de compte depuis que vous avez défini la fonction pour le modèle que nous devons revenir avec outerHTML qui contient en fait élément entier par exemple:

<a class="sportsDataPlayer" download="download.csv" type="text/csv" href="blob:http://fiddle.jshell.net/8b53b8de-d0e1-40a5-b40f-0d9e3221915a">2 Download CSV (via btoa)</a> 
+0

encore je ne suis pas en mesure de télécharger le fichier css ... fournissant votre violon ici et je vois cette erreur VM282: 191 TypeError Uncaught: Impossible de définir la propriété 'href' de null http://jsfiddle.net/pegla/wL4v15vd/5/ –

+0

hey je reçois null à cette ligne, je mets un débogueur ... toute idée de comment obtenez de la valeur ici var a2 = document.getElementById ("sportsDataPlayer"); http://jsfiddle.net/ohhrvopp/ –

+0

Ouais parce que je suis retourné mal, mais votre problème est que vous définissez plusieurs ID, je l'ai changé en classe maintenant et devrait être correct, mais vous devez encore travailler sur certaines choses là : http://jsfiddle.net/wL4v15vd/6/ – pegla