, aşağıdaki kod var:jqGrid numarası biçimlendirici kullanımı
formatter: {
number: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 4, defaultValue: '0.0000' }
},
ve benim colModel ben vardır:
{ name: 'SalesPrice', index: 'SalesPrice', width: 90, align: 'left', formatter:'number', editable: true, editoptions:
{
readonly: true
}
}
Benim veritipi
için "yerel" olarak ayarlanırFormu ilk görüntülediğimde, umduğum gibi "0.00" değil "0.0000" aldım. Diğer taraftan, satır içi düzenleme modunda, SalesPrice değeri, ızgaradaki diğer hücrelere bağlı olarak değişir. Güncellemelerden sonra SalesPrice değeri bir tamsayı olarak gösterilir.
Neyi yanlış yapıyorum?
DÜZENLEME: Daha tam kod
$("#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'
});
Buradaki örnekte http://www.trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter. Temel olarak, belirli bir sütun yerine tüm ızgara için biçimlendiriciyi bildiriyordum. Verilen örneği kullanarak şebekenin ilk yükü üzerinde çalışır. Ancak, SalesPrice değerinin değiştiği zaman, hala bir tamsayı aldım. OP – DavidS
kodunu güncelleştireceğim SalesPrice güncelleştirmesiyle ilgili sorun, biçimlendirmeyle ilgili bir şey yapmadı, ancak bazıları "3.000" olarak "biçimlendirilmiş" olmak üzere "3" olarak geçirilen değeri bekleyebilir. Ama bu soruna bir çözüm buldum. Yani gerçekten biçimlendirici ile ilgili sahip olduğum en önemli sorun, biçimlendiricinin global olarak bildirildiğinin beklendiği gibi çalışmadığı gerçeğiyle ilgilidir. Belki de ben hatalıyım. – DavidS
@DavidS: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter adresindeki bilgileri yanlış anlıyorsunuz. Örneğin, dile özgü bir dosya olan grid.locale-tr.js, '$ .jgrid.formatter.number' dahil olmak üzere birçok özelliğe sahip $ .jgrid 'nesnesini tanımlar. Örneğin, '$ .jgrid.formatter.number.decimalPlaces = 4; $ .jgrid.formatter.number.defaultValue: '0.0000'; '' '' '' ('' customerOrderLineList '') çağrısından önce jqGrid ({...}); '. Ayarların üzerine yazabilirsiniz, ancak jqGrid’in 'formatter' parametresi yoktur. – Oleg