jqGrid Personnalisé sorttype
Je suis en utilisant jqGrid 3.7.2 avec les données locales. Pour certaines colonnes par défaut sorttypes ne sont pas suffisantes. J'ai besoin de fournir une coutume sorttype, que je comprends de la documentation est possible. Je ne sais pas comment faire pour qu'il fonctionne bien. Le code ci-dessous est ma meilleure tentative à faire travail je ne peux pas faire appel de la coutume de tri de la fonction si. L'idée est de trier la 'Position' domaine dans l'ordre 'GK'->'DEF'->'MI'->'STR'. Voici le code que je voudrais obtenir de travail:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Table Testbed</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/south-street/jquery-ui.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<link type="text/css" href="/thirdParty/jqGrid/ui.jqgrid.css" >
<script type="text/javascript" src="/thirdParty/jqGrid/grid.locale-en.js"></script>
<script type="text/javascript" src="/thirdParty/jqGrid/jquery.jqGrid.min.js"></script>
<script type="text/javascript">
$().ready(function()
{
tableToGrid("#playerTable",
{
datatype: "local",
sortable: true,
hidegrid: false,
multiselect: false,
altRows: true,
height: "100%",
width: "155px",
shrinkToFit: true,
rowNum: 100,
colNames: ['Posn','Name'],
colModel: [
{name:'Posn', index:'Posn', width:100, sorttype:
function(cell)
{
if (cell=='GK') return '0';
if (cell=='DEF') return '1';
if (cell=='MID') return '2';
if (cell=='STR') return '3';
}
},
{name:'Name', index:'Name', width:200, sorttype:"text"}
]
});
});
</script>
</head>
<body>
<table id="playerTable">
<thead>
<tr><th>Posn</th><th>Name</th></tr>
</thead>
<tbody>
<tr><td>GK</td><td>Almunia</td></tr>
<tr><td>GK</td><td>Fabianski</td></tr>
<tr><td>DEF</td><td>Campbell</td></tr>
<tr><td>DEF</td><td>Clichy</td></tr>
<tr><td>MID</td><td>Denilson</td></tr>
<tr><td>MID</td><td>Diaby</td></tr>
<tr><td>STR</td><td>Arshavin</td></tr>
<tr><td>STR</td><td>Bendtner</td></tr>
</tbody>
</table>
</body>
</html>
- Pourriez-vous format votre code lors de la publication? C'est un peu illisible dans son état actuel.
- Aussi, quelle est la fonction tableToGrid?
Vous devez vous connecter pour publier un commentaire.
Probablement vous lire à propos de l'utilisation de
sorttype
en fonction de Tony réponse à mon thread http://www.trirand.com/blog/?page_id=393/help/custom-local-sort-with-respect-of-the-function-as-index/. Votre problème pourrait être très facilement résolus. Ma suggestion: utiliserindex
comme une fonction de personnalisation de tri des locaux jqGrid de données fonctionnent très bien dans la version 3.7.1, mais pas plus dans la version 3.7.2 de jqGrid. La fonctionsorttype
comme une fonction est implémentée dans le jqGrid après la sortie de la version 3.7.2.Donc, pour être en mesure d'utiliser
sorttype
comme une fonction, vous devez télécharger la dernière version de jqGrid de http://github.com/tonytomov/jqGrid/tree/master. C'est une version non compressée de jqGrid. Si vous n'êtes pas familier avec la version non compressée de jqGrid je vais vous recommandons de lire http://www.trirand.com/jqgridwiki/doku.php?id=wiki:how_to_install#development_installation de undertand qui de fichiers js et dans l'ordre dans lequel vous devez inclure. En vertu de http://www.ok-soft-gmbh.com/jqGrid/CustomSorttype1.htm vous pouvez trouver un exemple de travail de votre code où la fonction personnalisée vraiment travailler.Selon ce post sur le forum, une coutume
sorttype
n'est appelée que lorsque la grille est initialisé et non pas pendant laonSortCol
événement:Est-ce à expliquer le comportement que vous voyez?