2012-05-02 52 views
1

我想知道是否会有格式的网格视图控件,将显示磅值前的值。在访问数据库中存在货币符号,但是,将数据库附加到网格视图时,数据会显示但不包含货币符号。在gridview中显示货币

对不起,我的问题描述不佳。感谢您的时间。

回答

3

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

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

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

1

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

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

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

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

0

Unicode技术委员会接受了建议的unicode代码位置&#x20B9; (从维基百科),所以你可以改变你的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"))) 

我只想说,我们其他的方法可以做到so..so只是尝试和对方分享..

感谢

0

,你可以做到这一点以三种方式,我知道

  1. 以编程方式,只是覆盖CUL ture

    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> 
    

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

也可以使用GridView控件的RowDataBound事件为gridview控件中的每一行执行此操作。

谢谢!