在网格视图中显示货币



我想知道是否会格式化网格视图控件,该控件将在值之前显示井号。在 Access 数据库中,有一个货币符号,但是,当将数据库附加到网格视图时,会显示数据,但没有货币符号。

很抱歉对我的问题的描述写得不好。谢谢你的时间。

您是否尝试在列上使用 DataFormatString="{0:C}"?

<asp:BoundField DataField="SomeValue" DataFormatString="{0:C}" />

它将根据区域设置显示货币符号。

正如lcarus所说,将DataFormatString设置为"{0:C}",它应该可以工作。但是,如果我错了,有人会纠正我,但这取决于服务器上的区域性设置。例如,如果服务器上的区域性设置为"en-US",则会看到一个美元符号。如果我正确理解您的帖子,您正在寻找英镑 (GBP) 符号。

现在,如果您的服务器设置为英语英国,则没问题。但是,如果它设置为美国英语,并且您没有必要的访问权限来更改它,则可以使用 TemplateField。

<asp:TemplateField HeaderText="MyColumn">
     <ItemTemplate>
          $<%# Eval("MyColumn")%>
     </ItemTemplate>
</asp:TemplateField>

我在那个例子中使用了美元符号,但你明白了。

Unicode技术委员会接受了提议的Unicode代码位置₹(来自维基百科),因此您可以更改HTML以添加这些字符序列。

有人在他的MVC WebGrid项目中展示了这个符号。看这里:

如何显示印度货币符号在 MVC-Webgrid 中

 grid1.Column("EmpName",format: (item) => new HtmlString("&#x20B9; " + Convert.ToString( item.Salary)), header: "Notes")))

我只想说,我们还有其他方法可以这样做。所以试着分享回来..

谢谢

我知道你可以通过三种方式实现这一点

  1. 以编程方式,只需覆盖区域性

    {System,Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en:IN");}

  2. 可以逐页覆盖,在要覆盖的页面顶部,您可以看到页面的详细信息,例如语言等。只是补充一下,

    <%@ Page **Culture="en-IN"** Language = "C#".....>

  3. 在 web.config 文件中,在配置标记下

      <System.Web>
           <Globalization Culture="en:IN"/>
      </System.Web>
    

就是这样!!我们完成了...:)

也可以通过使用网格视图控件的 RowDataBound 事件对网格视图控件中的每一行执行此操作。

谢谢!!

最新更新