【问题标题】:How to add percentage sign and pp into a asp.net gridview如何将百分号和pp添加到asp.net gridview中
【发布时间】:2013-03-09 05:59:03
【问题描述】:

我正在使用 Visual Studio 2010 并使用 Visual Basic 进行开发。我有一个 web 表单中的 gridview,我需要一些单元格来显示 - 数字旁边的 % - pp(百分点)在数字旁边 - 只是一个数字

这在列和行之间有所不同,例如:

KPI             2012   2013    var
Volume          18     20      11%
VolumeToRevenue 10%    15%     5pp

任何想法如何实现这一目标?

【问题讨论】:

    标签: asp.net vb.net visual-studio-2010 datagrid


    【解决方案1】:

    % 百分比符号的实体引用是

    "%" which displays in html as...
    

    %

    【讨论】:

    • 我已经通过创建数据表并在需要时添加 % 和 pp(百分点)解决了这个问题。问题是您无法更改 datables 中的数据类型,因此我必须添加新列并将它们预先格式化为字符串。之后我删除了我不需要的列。最后,我通过datagrid.datasource = datatabe datagrid.databind() 将数据加载到了datagrid 中。希望这可以帮助某人
    • 您好 Selrac,嗯,这不会影响您在其他地方的数据吗?我问的原因是因为你不能对字符串执行数字数学函数。如果您需要其他地方的数字数据或需要对其执行计算,那么它不会是直截了当的,您可能需要将字符串转换回数字格式。
    • 是的,你是对的。我不认为我以后会需要这些数据,但是是的,我意识到这将是一个问题。目前我正在预先计算它:dt.Rows(i)(10) = (dt.Rows(i)(1) - dt.Rows(i)(2)) & "pp"
    【解决方案2】:

    使用BoundField.DataFormatString属性:

    <asp:BoundField DataField="ProductID" 
                    HeaderText="ProductID" 
                    InsertVisible="False" ReadOnly="True" 
                    SortExpression="ProductID" 
                    DataFormatString="{0:D6}" />
    

    DataFormatString 更改为以下之一:

    {0}%               // number + %
    {0}pp              // number + pp
    {0}                // just a number
    

    【讨论】:

    • 谢谢,但这会格式化整个列。我需要第一行无格式,无格式,%,第二行为%,%,pp
    猜你喜欢
    • 2010-10-18
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多