【发布时间】:2019-07-24 19:42:46
【问题描述】:
我的 ASP 网页上有一个 Jqgrid,我正在尝试格式化其中一列,以便它在“价格”值前面加上一个井号。
我尝试了许多不同的方法。
首先,我尝试在网格本身上设置 DataFormatString 值,但这会破坏分组的总和。它只返回 NaN,大概是因为它不能对货币值求和。
<trirand:JQGridColumn DataField="price" Editable="false" GroupSummaryType="Sum" DataFormatString="{0:c}">
然后,我研究了使用以下函数剥离格式并恢复它的选项,但收效甚微。
function currencyFmatter (cellvalue, options, rowObject)
{
return "$"+cellvalue;
}
function unformatCurrency (cellvalue, options)
{
return cellvalue.replace("$","");
}
我目前的尝试是使用以下脚本编辑 gridview 列的格式。但是,当我运行我的程序时,它什么也不做。数字保持原样,即 10.00
<script type="text/javascript">
grid = $("#JQGrid2");
grid.jqGrid({
colModel : [
{
name: 'price', formatter: 'currency',
formatoptions: { prefix: '(£ ', thousandsSeparator: ',' }
},
],
});
</script>
在我的小计字段中添加货币符号的最简单方法是什么?
下面是我的 Grid 的当前 ASP 代码。
<trirand:JQGridColumn DataField="price" Editable="false" GroupSummaryType="Sum" DataFormatString="{0:c}">
<trirand:JQGrid runat="server" ID="JQGrid2" DataSourceID="SqlDataSource2" Width="1200px" Height="100%" maxHeight="300" hidegrid="true" ondatarequested="JQGrid2_DataRequested">
<Columns>
<trirand:JQGridColumn CSSClass="indent" DataField="description" Editable="true" Width="1200"/>
<trirand:JQGridColumn DataField="inv_section" Editable="true" />
<trirand:JQGridColumn DataField="ref_date_start" Editable="true" DataFormatString="{0:d}" />
<trirand:JQGridColumn DataField="ref_date_end" Editable="true" DataFormatString="{0:d}" />
<trirand:JQGridColumn DataField="cust_po" Editable="true" />
<trirand:JQGridColumn DataField="unit_sell" Editable="true" DataFormatString="{0:c}"/>
<trirand:JQGridColumn DataField="qty" Editable="true"/>
<trirand:JQGridColumn DataField="price" Editable="false" >
</trirand:JQGridColumn>
</Columns>
<AppearanceSettings ShowFooter="true" />
<ToolBarSettings ShowEditButton="true" ShowRefreshButton="True" ShowAddButton="true" ShowDeleteButton="true" ShowSearchButton="True" />
</trirand:JQGrid>
</ContentTemplate>
</asp:UpdatePanel>
【问题讨论】: