jqgrid numéro de formateur de l'utilisation
Dans mon formateur, j'ai le code suivant:
formatter: {
number: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 4, defaultValue: '0.0000' }
},
et dans mon colModel j'ai:
{ name: 'SalesPrice', index: 'SalesPrice', width: 90, align: 'left', formatter:'number', editable: true, editoptions:
{
readonly: true
}
}
Mon type de données est défini sur "local"
Quand j'ai d'abord afficher le formulaire, j'obtiens un "0.00" et non pas "0.0000" comme je l'espérais. De plus, dans l'édition en ligne mode, la SalesPrice valeur change en fonction d'autres cellules dans la grille. Après les mises à jour de la SalesPrice valeur est présentée comme un entier.
Que pouvais-je fait de mal?
EDIT: code Plus complet
$("#customerOrderLineList").jqGrid({
// url: 'someUrl',
datatype: 'local',
formatter: {
number: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 4, defaultValue: '0.0000' }
},
// mtype: 'POST',
colNames: [ 'Part Number', 'Sales Price'],
colModel: [
{ name: 'PartNumber', index: 'PartNum', width: 90, align: 'left', editable: true, editoptions:
{
dataInit: function (el) {
$(el).autocomplete({
source: "Autocomplete",
minLength: 1
});
}
}
},
{ name: 'SalesPrice', index: 'SalesPrice', width: 90, align: 'left', formatter: 'number',
formatoptions: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 4, defaultValue: '0.0000' }, editable: true, editoptions:
{
readonly: true
}
}
],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortable: true,
sortname: 'PartNum',
sortorder: "asc",
viewrecords: true,
imgpath: '',
autowidth: true,
onSelectRow: function (id, status) {
if (id && id !== lastsel) {
$('#customerOrderLineList').jqGrid('restoreRow', lastsel);
$('#customerOrderLineList').jqGrid('editRow', id, true);
lastsel = id;
}
},
caption: 'Caption'
});
OriginalL'auteur DavidS | 2011-07-21
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas posté votre code complet de sorte qu'il est difficile de dire quel est votre problème. Il suffit de regarder la démo qui font ce que vous expliquez et n'a pas de problème.
J'ai utilisé
formatoptions
parce qu'il n'était pas clair pour moi l'endroit où vous définissez lesformatter
valeurs de thnumber
.Le problème avec le SalesPrice mise à jour n'avait rien à voir avec la mise en forme, même si certains pourraient avoir attendu la valeur transmise, "3" pour être "formaté" comme "3.000". Mais j'ai trouvé une solution à ce problème. Si vraiment le seul problème que j'ai avec le formateur est liée au fait que la déclaration du formateur à l'échelle mondiale ne semble pas fonctionner comme prévu. Peut-être que je me trompe.
Vous ne comprenez pas les informations de trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter. La langue de fichier spécifique, par exemple grid.locale-en.js définir
$.jgrid
objet ayant de nombreuses propriétés inclusive$.jgrid.formatter.number
. Par exemple, vous pouvez définir$.jgrid.formatter.number.decimalPlaces=4; $.jgrid.formatter.number.defaultValue: '0.0000';
avant l'appel de$("#customerOrderLineList").jqGrid({...});
. Vous pouvez remplacer les paramètres, mais il n'y a pasformatter
paramètre de jqGrid.oui, il semblerait que j'ai mal compris et c'est pourquoi il ne fonctionnait pas.
OriginalL'auteur Oleg