结合数据库的格式化和数据绑定

时间:2013-04-02 21:03:49

标签: sql-server vb.net data-binding string-formatting datarepeater

我在DataRepeater中有一组标签。标签从SQL数据库中的表中获取它们的值(假设GetSQLResults从SQL数据库获取数据并返回DataTable)。

Dim salesDataTable As DataTable = GetSQLResults()

对于绑定

SalesLabel.DataBindings.Add("Text", salesDataTable , "Sales")

其中SalesLabel是表单中的标签,“Sales”是数据库中列的名称。

我想要做的是将美元货币格式应用于来自数据库的此Sales值。我不知道如何将格式信息与我上面为DataBinding编写的命令结合起来。它是一个Windows窗体应用程序,我使用VB .Net。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

Binding类具有FormatString属性,您应该能够提供所需的标准或自定义format string

我想也许是这样的:

Dim salesBinding As Binding = new Binding("Text", salesDataTable , "Sales")
salesBinding.FormatString = "C"
SalesLabel.DataBindings.Add(salesBinding)

会做的伎俩。

答案 1 :(得分:0)

我根据nkvu回答和http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/c860168f-46e5-4786-a68d-ac69c6a7a248/

上的帖子尝试了此操作
Dim WithEvents salesBinding As Binding

salesBinding = New Binding("Text", salesDataTable , "Sales")
SalesLabel.DataBindings.Add(salesBinding)

Private Sub salesBinding_Format(ByVal sender As Object, ByVal e As System.Windows.Forms.ConvertEventArgs) Handles salesBinding .Format
    If e.Value Is DBNull.Value Then
    Else
        e.Value = Format(e.Value, "c")
    End If
End Sub

这对我有用。