Javascript Ho使用jtable插件在mvc中设置小数点后2位的格式
我有特鲁布尔格式的价格领域。这是我的看法。我将记录作为JSON对象从控制器发送,它工作得非常好。 我想将输出格式化为十进制,在点状Javascript Ho使用jtable插件在mvc中设置小数点后2位的格式,javascript,jquery,number-formatting,Javascript,Jquery,Number Formatting,我有特鲁布尔格式的价格领域。这是我的看法。我将记录作为JSON对象从控制器发送,它工作得非常好。 我想将输出格式化为十进制,在点状100.00后加2位 <link href="~/Content/jtable.2.4.0/jtable.2.4.0/themes/metro/blue/jtable.css" rel="stylesheet" type="text/css"> <link href="~/Content/jquery-ui-themes-1.11.2/themes/
100.00
后加2位
<link href="~/Content/jtable.2.4.0/jtable.2.4.0/themes/metro/blue/jtable.css" rel="stylesheet" type="text/css">
<link href="~/Content/jquery-ui-themes-1.11.2/themes/start/jquery-ui.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="~/Scripts/jquery-1.11.1.js"></script>
<script type="text/javascript" src="~/Scripts/jquery-ui.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.jtable.js"></script>
<script type="text/javascript">
$(document).ready(function() {
var lokalizacijaSrpski = {
serverCommunicationError: 'Greska u komunikaciji sa serverom.',
loadingMessage: 'Ucitavanje...',
noDataAvailable: 'Podaci nisu dostupni',
addNewRecord: 'Dodaj novi slog',
editRecord: 'Izmjeni',
areYouSure: 'Da li ste sigurni?',
deleteConfirmation: 'Da li ste sigurni da zelite da obrisete slog?',
save: 'Sacuvaj',
saving: 'Snimanje',
cancel: 'Odustani',
deleteText: 'Obrisi',
deleting: 'Brisanje',
error: 'Greska',
close: 'Zatvori',
cannotLoadOptionsFor: '{0} nemoguce ucitati!',
pagingInfo: 'Ukupno {2}, prikaz {0} od {1}',
gotoPageLabel: 'Idi na stranicu',
pageSizeChangeLabel: 'Broj redova',
canNotDeletedRecords: '{1} nemogucnost brisanja {0} sloga!'
};
$('#tXMLIndex').jtable({
messages: lokalizacijaSrpski,
title: 'XML PARSER',
paging: true,
pageSize: 10,
sorting: true,
actions: {
listAction: '/XmlParser/ListXML'
},
fields: {
XMLId: {
title: 'Xml id',
key: true,
create: false,
edit: false
},
Naziv: {
title: 'Naziv'
},
Price: {
title: 'Price'
}
},
recordUpdated: function(event, data) {
$('#tXMLIndex').jtable('load');
}
});
$('#tXMLIndex').jtable('load');
$.fn.focusTextToEnd = function() {
this.focus();
var $thisVal = this.val();
this.val('').val($thisVal);
return this;
}
$('#tbXMLIndexPretraga').focusTextToEnd();
$("#tbXMLIndexPretraga").keyup(function() {
$("#tXMLIndex").jtable('load', {
searchString: $("#tbXMLIndexPretraga").val()
});
});
});
</script>
<div id="tXMLIndex"></div>
$(文档).ready(函数(){
var lokalizacijaSrpski={
服务器通信错误:“Greska u komunikaciji sa serverom.”,
正在加载消息:“Ucitavanje…”,
节点可用:“Podaci nisu dostupni”,
addNewRecord:'Dodaj novi slog',
editRecord:'Izmjeni',
你确定“Da li ste sigurni”吗,
删除确认:“你的工作是什么?”,
保存:'Sacuvaj',
保存:'斯尼曼杰',
取消:“奥古斯塔尼”,
deleteText:'Obrisi',
删除:“Brisanje”,
错误:“Greska”,
关闭:“Zatvori”,
无法为“{0}nemoguce ucitati!”加载选项,
PaginInfo:'Ukupno{2},prikaz{0}od{1}',
gotoPageLabel:“Idi na stranicu”,
pageSizeChangeLabel:“Broj redova”,
canNotDeletedRecords:“{1}nemogucnost brisanja{0}sloga!”
};
$('#tXMLIndex').jtable({
信息:lokalizacijaSrpski,
标题:“XML解析器”,
是的,
页面大小:10,
排序:对,
行动:{
listAction:“/XmlParser/ListXML”
},
字段:{
XMLId:{
标题:“Xml id”,
关键:没错,
创建:false,
编辑:false
},
纳齐夫:{
标题:“纳齐夫”
},
价格:{
标题:“价格”
}
},
记录更新:功能(事件、数据){
$('#tXMLIndex').jtable('load');
}
});
$('#tXMLIndex').jtable('load');
$.fn.focusTextToEnd=函数(){
这是focus();
var$thisVal=this.val();
this.val(“”).val($thisVal);
归还这个;
}
$('tbxmlindexpretaga').focusTextToEnd();
$(“#tbxmlindexpretaga”).keyup(函数(){
$(“#tXMLIndex”).jtable('load'{
搜索字符串:$(“#tbxmlindexpretaga”).val()
});
});
});
有什么建议吗?客户端: 我已经做了数字格式化使用,它工作得很好 如果您愿意将js添加到页面中,您可以这样做:
Price: { title: 'Price',
edit: true,
list: true,
display: function (data) {
return number_format(data.record.price, 2, '.', ',');
}
},
number\u格式
如下:
函数编号\u格式(数字、小数、小数点、千位sep)
服务器端:
为了帮助您,您必须发布一些代码。您的JSON看起来像什么?从/XmlParser/ListXML
中得到了什么?服务器端的外观
公共JsonResult ListXML(int-jtStartIndex=0,int-jtPageSize=0,string-jtSorting=null,string-searchString=null)
{
XmlReader readXML = new XmlReader();
var data = readXML.RetrunListOfProducts();
var lista = (from obj in data select new { XMLId=obj.ProductId,Naziv=obj.ProductName,Cjena=obj.ProductCost });
if (searchString != null)
{
lista = lista.Where(b => b.Naziv.Contains(searchString));
}
if (jtSorting == null)
{
jtSorting = "XMLId DESC";
}
switch (jtSorting)
{
case "XMLId ASC":
lista = lista.OrderBy(a => a.XMLId);
break;
case "Naziv ASC":
lista = lista.OrderBy(a => a.Naziv);
break;
case "Naziv DESC":
lista = lista.OrderByDescending(a => a.Naziv);
break;
case "Cjena ASC":
//lista = from obj in lista
// orderby Convert.ToDecimal(obj.Cjena) ascending
// select new { XMLId=obj.XMLId,Naziv=obj.Naziv,Cjena=obj.Cjena };
lista = from obj in lista
orderby obj.Cjena ascending
select new { XMLId = obj.XMLId, Naziv = obj.Naziv, Cjena = obj.Cjena };
break;
case "Cjena DESC":
//lista = from obj in lista
// orderby Convert.ToDecimal(obj.Cjena) descending
// select new { XMLId = obj.XMLId, Naziv = obj.Naziv, Cjena = obj.Cjena };
lista = from obj in lista
orderby obj.Cjena descending
select new { XMLId = obj.XMLId, Naziv = obj.Naziv, Cjena = obj.Cjena };
break;
default:
lista = lista.OrderByDescending(a => a.XMLId);
break;
}
var pagingLista = lista.Skip(jtStartIndex).Take(jtPageSize);
return this.Json(
new
{
Result = "OK",
Records = pagingLista.ToList(),
TotalRecordCount = lista.Count()
}
, JsonRequestBehavior.AllowGet
);
}
老实说,我不确定价格值的计算位置,但是
.toFixed(2)
应该会有帮助。products=(来自ds.Tables[0]中的行)。AsEnumerable()选择新产品{ProductId=Convert.ToInt32(行[0].ToString()),ProductName=rows[1].ToString(),ProductCost=Convert.ToDecimal(行[2].ToString()),//此时,我希望将格式设置为带2位的十进制,而不是10.00 return 1000})。ToList();return products;当我使用类似display:函数(数据)时{返回小数(data.record.Price,2,',',');}我仍然得到10000而不是100.00???