Comment permettre à excel bouton exporter pour jqGrid
Bonjour
J'en veux pour preuve "exporter vers excel" dans le pager de jqgrid. J'ai essayé de nombreuses façons, de lire de nombreux articles/posts, mais je ne vois pas ce bouton. La Documentation n'a rien de bien utile aussi. Quelles actions dois-je faire pour voir ce bouton
Ps. J'utilise ASP.NET MVC
PSS. mon code est
<link href="../../Scripts/jquery.UI/css/redmond/jquery-ui-1.8.1.custom.css" rel="Stylesheet"
type="text/css" />
<link href="../../Scripts/jquery.jqGrid/css/ui.jqgrid.css" rel="Stylesheet" type="text/css" />
<script type="text/javascript" src="../../Scripts/jquery.jqGrid/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.jqGrid/js/i18n/grid.locale-ru.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.jqGrid/js/jquery.jqGrid.min.js"></script>
<table id="EmployeeTable">
</table>
<div id="EmployeeTablePager">
</div>
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#EmployeeTable').jqGrid({
url: '/Employee/EmployeeData',
datatype: "json",
mtype: 'POST',
jsonReader: {
page: "page",
total: "total",
records: "records",
root: "rows",
repeatitems: false,
id: ""
},
colNames: ['Id', 'Имя', 'Фамилия', 'Email', 'Date'],
colModel: [
{ name: 'Id', width: 20 },
{ name: 'FirstName', width: 105 },
{ name: 'LastName', width: 100 },
{ name: 'Email', width: 150 },
{ name: 'Date', width: 150, formatter: ndateFormatter }
],
pager: '#EmployeeTablePager',
excel: true,
viewrecords: true
}).jqGrid('navButtonAdd',
'#EmployeeTablePager',
{ caption: " Export to Excel ",
buttonicon: "ui-icon-bookmark",
onClickButton: genCSV, position: "last"
});
});
function genCSV() {
alert('a');
}
function ndateFormatter(cellval, opts, rwdat, _act) {
var time = cellval.replace(/\/Date\(([0-9]*)\)\//, '$1');
var date = new Date();
date.setTime(time);
return date.toDateString();
}
</script>
mais je ne vois pas l'importation excel bouton.
http://ru.magicscreenshot.com/jpg/t97BDzCIO0Q.html
pourquoi?
Vous devez vous connecter pour publier un commentaire.
En supposant que le balisage de
Quelque chose le long des lignes de
genCSV
sera une fonction JavaScript qui fera l'appel à l'action du contrôleur pour générer un fichier CSV.Voici un exemple, en combinaison avec jQuery flot. Créer des données, sélectionnez les lignes de la grille, puis cliquez sur générer le graphique dans le bouton en bas à gauche de la grille de tracer les points. Notez que cela ne fonctionne pas dans Internet Explorer moins de 8 car il nécessite la prise en charge du HTML 5 canvas (et je n'ai pas pris la peine d'inclure excanvas).
EDIT:
Votre balisage n'est pas de travail parce que vous devez initialiser un navGrid avant d'être en mesure de définir un bouton personnalisé (voir la note à la page). Vous pouvez faire cela comme
Ce que j'ai fait était de créer un fichier csv sur le serveur et d'afficher un lien de téléchargement à côté de la grille, à mon avis.
Il n'est pas aussi lisse que ce que vous avez à l'esprit, mais il est rapide et facile à mettre en œuvre.
Méthode d'Extension pour créer un fichier csv à partir d'une liste (à partir d'un autre poste sur DONC):
Contrôleur:
Dans la vue:
Je l'utilise et ça fonctionne très bien