0

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

Dim salesDataTable As DataTable = GetSQLResults()

而对于绑定

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

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

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

4

2 回答 2

2

该类Binding有一个FormatString属性,您应该能够提供您想要的标准或自定义格式字符串

我想也许是这样的:

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

会做的伎俩。

于 2013-04-02T21:22:18.813 回答
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

这对我有用。

于 2013-04-03T13:20:49.830 回答