在gridview中显示货币

时间:2012-05-02 20:25:36

标签: asp.net

我想知道是否还会格式化网格视图控件,以便在值之前显示英镑符号。在访问数据库中,有一个货币符号,但是,在将数据库附加到网格视图时,数据显示但没有货币符号。

很抱歉我的问题写得很糟糕。谢谢你的时间。

4 个答案:

答案 0 :(得分:3)

您是否尝试使用DataFormatString =" {0:C}"你的专栏?

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

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

答案 1 :(得分:1)

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

现在,如果您的服务器设置为英国英语,那么你很好。但如果它设置为英语并且您没有必要的权限来更改它,则可以使用TemplateField。

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

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

答案 2 :(得分:0)

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

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

how-to-show-indian-currency-symbol-in-mvc-webgrid

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

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

感谢

答案 3 :(得分:0)

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

  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>
    
  4. 就是这样!! 我们完成了...... :)

    通过使用该gridview控件的RowDataBound事件,也可以对gridview控件中的每一行执行此操作。

    谢谢!