将listview项目显示为%或£,具体取决于规格

时间:2013-10-25 13:01:47

标签: asp.net sql-server vb.net listview

我有一组listview项目,显示从SQL Server表中提取的数字。

这些数字是各种商业分析的衡量标准......市场价值,市场份额,股票等......所以有不同类型的数字。

在我的SQL Server表中,我有一个名为“type”的行,它可以说是£,%或 NULL ,具体取决于度量。如何根据此行格式化listview以显示为14%而不是0.14和100英镑而不是100?

谢谢

1 个答案:

答案 0 :(得分:2)

这可能会有所帮助:

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

以下是一个例子:

<asp:ListView runat="server" ID="lstItems">
    <LayoutTemplate>
        <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
    </LayoutTemplate>
    <ItemTemplate>
        <div>
            <%# GetFormattedValue( Eval("type").ToString(), Eval("val") ) %>
        </div>
    </ItemTemplate>
</asp:ListView>

代码隐藏:

Protected Function GetFormattedValue(type As String, itemValue As Object) As String
    Select Case type
        Case "£"
            Return String.Format("{0:C}", itemValue)
            Exit Select
        Case "%"
            Return String.Format("{0:P}", itemValue)
            Exit Select
        Case Else
            Return itemValue.ToString()
    End Select
End Function